Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.2测试DOM更改_Php_Laravel 5_Phpunit_Laravel 5.2 - Fatal编程技术网

Php Laravel 5.2测试DOM更改

Php Laravel 5.2测试DOM更改,php,laravel-5,phpunit,laravel-5.2,Php,Laravel 5,Phpunit,Laravel 5.2,我使用的是Laravel 5.2,我的页面上有一个id为new item的按钮,当我点击它时,javascript代码会加载一个带有表单的远程引导模式,并显示该模式 我想用Laravel测试PHPUnit的功能。我写了这个测试: $this->visit('/'); ->click('new-item'); ->seeElement('.modal'); 页面工作正常,但测试失败。我得到一个错误,页面没有.modal元素,并且它还显示了页面的html。 但

我使用的是Laravel 5.2,我的页面上有一个id为new item的按钮,当我点击它时,javascript代码会加载一个带有表单的远程引导模式,并显示该模式

我想用Laravel测试PHPUnit的功能。我写了这个测试:

$this->visit('/');
     ->click('new-item');
     ->seeElement('.modal');
页面工作正常,但测试失败。我得到一个错误,页面没有
.modal
元素,并且它还显示了页面的html。 但是html看起来像远程模式插入到页面之前的原始页面


那么,如何在javascript更改DOM后强制测试刷新页面内容呢?

默认情况下,Laravel使用PHPUnit和PHPBrowser进行测试。PHPBrowser不支持Javascript。如果您想测试javascript,您需要使用selenium和codeception之类的东西。Codeception有一个内置的Laravel适配器,因此它仍然非常易于使用。我已经在很多应用程序中使用过它,而且效果非常好

对于支持javascript的无头浏览器,还有其他选项—这只是一个选项