2017-08-13 46 views
1

我有这个页面,当点击一个特定的按钮时,弹出一个新窗口(例如_target = blank的锚标签)。我想验证一个文本字符串出现在这个新窗口中,但对于Laravel Dusk,assertSee似乎是测试原始窗口而不是新打开的窗口。用laravel黄昏测试一个新窗口

有关如何测试新打开的窗口内容的任何想法?

回答

3

我今天刚碰到这个问题。您可以使用浏览器驱动程序来获取所有打开的窗口,然后切换到最后打开的选项卡。

// 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