neu*_*ert 7 php laravel-5.4 laravel-dusk
我有这个页面,当点击一个特定的按钮时,会弹出一个新窗口(例如一个_target = blank的锚标签).我想验证一个文本字符串出现在这个新窗口中,但是,使用Laravel Dusk,assertSee似乎是在测试原始窗口而不是新打开的窗口.
关于如何测试新打开的窗口内容的任何想法?
小智 12
我今天遇到了这个问题.您可以使用浏览器驱动程序获取所有打开的窗口,然后切换到最后打开的选项卡.
// Get the last opened tab
$window = collect($browser->driver->getWindowHandles())->last();
// Switch to the tab
$browser->driver->switchTo()->window($window);
// Check if the path is correct
$browser->assertPathIs('/path/of/site/in/new/tab');
Run Code Online (Sandbox Code Playgroud)
切换到新窗口后,您可能需要添加暂停,因为黄昏非常快,并且可能在新页面完全加载之前开始断言.
(我在github问题中找到了这个答案,https://github.com/laravel/dusk/issues/336)