我有这个页面,当单击特定按钮时,会弹出一个新窗口(例如,带有 _target = 空白的锚标记)。我想验证这个新窗口中是否出现了一串文本,但是使用 Laravel DuskassertSee
似乎正在测试原始窗口而不是新打开的窗口。
关于如何测试新打开的窗口内容的任何想法?
我有这个页面,当单击特定按钮时,会弹出一个新窗口(例如,带有 _target = 空白的锚标记)。我想验证这个新窗口中是否出现了一串文本,但是使用 Laravel DuskassertSee
似乎正在测试原始窗口而不是新打开的窗口。
关于如何测试新打开的窗口内容的任何想法?
我今天刚遇到这个问题。您可以使用浏览器驱动程序获取所有打开的窗口,然后切换到最后打开的选项卡。
// 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');
您可能需要在切换到新窗口后添加暂停,因为黄昏非常快,并且它可能在新页面完全加载之前开始断言。
(我在 github 问题中找到了这个答案,https://github.com/laravel/dusk/issues/336)