1
我有这个页面,当点击一个特定的按钮时,弹出一个新窗口(例如_target = blank的锚标签)。我想验证一个文本字符串出现在这个新窗口中,但对于Laravel Dusk,assertSee
似乎是测试原始窗口而不是新打开的窗口。用laravel黄昏测试一个新窗口
有关如何测试新打开的窗口内容的任何想法?
我有这个页面,当点击一个特定的按钮时,弹出一个新窗口(例如_target = blank的锚标签)。我想验证一个文本字符串出现在这个新窗口中,但对于Laravel Dusk,assertSee
似乎是测试原始窗口而不是新打开的窗口。用laravel黄昏测试一个新窗口
有关如何测试新打开的窗口内容的任何想法?
我今天刚碰到这个问题。您可以使用浏览器驱动程序来获取所有打开的窗口,然后切换到最后打开的选项卡。
// 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)