php - Laravel Dusk 测试 click() 不工作

我正在尝试在 Laravel 项目上运行一些测试,但即使是最基本的测试也行不通

配置:

  • Laravel 5.5
  • 测试黄昏
  • MacOS High Sierra
  • PHPStorm

我想测试登录页面。

首先,我知道我必须向 <button> 添加一个属性在 resources->views->forms->user->login.blade.php :

来源:

我的代码:

<div class="submit-button-container">
    <button class="button" dusk="login-button">Connexion</button>
</div>

然后我创建 LoginTest.php文件:

<?php

namespace Tests\Browser;

use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;

class LoginTest extends DuskTestCase
{
    /**
     * @throws \Exception
     * @throws \Throwable
     */
    public function testExample()
    {
        $this->browse( function (Browser $browser) {

            $browser->visit('se-connecter') //login page
                    ->click('@login-button'); //click the login button
        });
    }
}

当我运行命令行时 php artisan dusk我收到此错误:

没有这样的元素:无法定位元素:{"method":"css selector","selector":"body [dusk="login-button"]"}

我的问题是:

  • 如何定义错误消息中显示的选择器?

最佳答案

您是否尝试过 ->assertMissing('@login-button') 只是为了确保黄昏看到该元素。也许它可以深入了解问题出在哪里。或者您可能不在同一页面上。

在屏幕截图文件夹中查看。 这不是出路,但至少可以帮助您找到出路。

https://stackoverflow.com/questions/48149309/

相关文章:

reactjs - Google Places API 自动完成不显示结果

jenkins - 在领域中使用唯一凭据 - Jenkins 本地实例

r - lavaan 中的多组 SEM 约束回归系数

java - 将原始类型传递给 JAX RS POST

c++ - 是否有必要在 std::coroutine_handle 上调用 destroy?

Angular 4 - 标题导航栏消失

amazon-web-services - 按创建日期查询 S3 存储桶文件

r - 在 igraph 中绘制适合度分布的幂律

tensorflow - 将 Keras 与 TensorFlow 后端一起使用时,如何禁用 cuD

python - 展开文本小部件以填充 Tkinter 中的整个父框架