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)