php - Laravel Dusk - 调用数组上的成员函数 click()

标签 php laravel testing jquery-select2 laravel-dusk

我有一个问题。当我尝试运行我的黄昏测试时,它输出了这个错误:

1) Tests\Browser\NewPostTest::test_new_post
Error: Call to a member function click() on array

D:\xampp\htdocs\laravel_blog\tests\Browser\NewPostTest.php:32
D:\xampp\htdocs\laravel_blog\vendor\laravel\dusk\src\Concerns\ProvidesBrowser.php:67
D:\xampp\htdocs\laravel_blog\tests\Browser\NewPostTest.php:34

我的测试方法是这样的:

public function test_new_post()
    {
        $this->browse(function (Browser $browser) {
          $faker = Faker::create();
          $title = $faker->sentence();
          $slug = str_replace(' ', '-', $title);
          $browser->loginAs(User::find(2))
                  ->visit('/posts/create')
                  ->assertSee('Create New Post')
                  ->type('title', $title)
                  ->type('slug', $slug)
                  ->type('body', $faker->paragraphs(5, true))
                  ->select('category_id')
                  ->script('jQuery(".select2").val(["1","2"]).trigger("change");')
                  ->click('input[type=submit]#submit')
                  ->assertPathIs('/posts');
        });
    }

如您所见,我正在为我的标签使用 select2。谁能告诉我我做错了什么?

最佳答案

您不能在 script() 之后使用链接,因为它返回一个数组而不是 $this:

$browser->[...]
    ->script('jQuery(".select2").val(["1","2"]).trigger("change");')
$browser->click('input[type=submit]#submit')
    ->assertPathIs('/posts');

关于php - Laravel Dusk - 调用数组上的成员函数 click(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51800347/

相关文章:

php - Laravel 动态更改连接

spring - 无法启动 cucumber 简单测试

javascript - 自动化测试中有多少断言太多?

unit-testing - Subversion 和 DBUnit - 如何下载特定的快照版本

javascript - 只允许ajax上传图片

php - 如何在SQL查询中使用bindValue和LIKE运算符?

php - SQL语法错误

php - 将 div 转换为图像的最佳方法?使用 php、javascript 或 jquery

php - 在 Laravel Markdown 邮件中的组件 URL 中使用变量

php - 如何在 Laravel REST API 中使用 PUT 方法更新图像?