php – Laravel功能测试ajax控件
在laravel 5.4中,我可以看到有以下方法:
$browser->pause(1000); $browser->waitFor('.selector'); $browser->waitForLink('Create'); 但我在Laravel 5.3中没有看到这些. 我们有两个链式选择框,其中第二个选择框值是根据第一个选择框中的选择通过ajax加载的.问题是当我们运行测试时,laravel不会等待加载第二个selectbox / ajax,这会导致测试失败,因为它无法从第二个选择框中选择任何值. $this->visit('/department'); $this->select('1','country_id'); $this->select('1','region_id'); // problem here // rest of code 我也尝试过使用sleep()但它没有用. 请问如何在5.3中对这种情况进行功能测试?谢谢
默认情况下,laravel 5.3不支持此功能.他们使用Dusk在laravel 5.4中引入了Ajax测试.
查看这篇文章:https://laravel-news.com/laravel-dusk-is-coming 但是,我们很幸运. 看着黄昏的composer.json.您可以在laravel 5.3中使用它,因为它的依赖性是“照亮/支持”:Laravel 5.3满足的“~5.3”. 你需要做的就是:作曲家需要laravel / dusk 在这里查看composer.json:https://github.com/laravel/dusk/blob/master/composer.json 编辑: 依赖性存在问题.我创建了一个解决依赖问题的新包.我已经运行了所有的测试用例.它没有给我任何错误. 您可以使用以下命令使用此包:composer require pankitgami / dusk 点击这里:https://packagist.org/packages/pankitgami/dusk (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |