dev*_*v02 8 php laravel laravel-5.3
在laravel 5.4中,我可以看到有以下方法:
$browser->pause(1000);
$browser->waitFor('.selector');
$browser->waitForLink('Create');
Run Code Online (Sandbox Code Playgroud)
但我在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
Run Code Online (Sandbox Code Playgroud)
我也试过使用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所"illuminate/support" : "~5.3"满足的.
你需要做的就是: composer require laravel/dusk
请composer.json点击此处:https://github.com/laravel/dusk/blob/master/composer.json
编辑:
依赖性存在问题.我创建了一个解决依赖问题的新包.我已经运行了所有测试用例.它没有给我任何错误.
您可以使用以下命令使用此包: composer require pankitgami/dusk
点击此处:https://packagist.org/packages/pankitgami/dusk
| 归档时间: |
|
| 查看次数: |
715 次 |
| 最近记录: |