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