2017-08-13 45 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