所以當我單獨運行我的測試時,它們工作得很好。但是,當我運行我的功能(多個測試)我的代碼失敗。
這是因爲當水豚存在時,並非我所有的窗戶都關閉,因此我的硒驅動程序不知道要使用哪個窗口。你能關閉水豚的所有打開的窗戶嗎?
基本上,發生的事情是我的測試打開了多個窗口。發生這種情況的原因是我的測試是單擊鏈接打開新窗口並檢查新窗口中的內容。儘管我在每次測試結束時都說page.quit
,但此功能並未關閉所有打開的窗口(關閉活動窗口,但不關閉原始窗口)。當第二個測試運行時,它使用最初創建的窗口,但是當它打開新的彈出窗口時,它會使用錯誤的窗口。
如何確保在每次測試期間使用新瀏覽器,並關閉以前測試中的所有窗口。
我目前使用page.reset!
和page.quit
。
不確定,但我可以說session.quit
關閉所有打開的瀏覽器窗口?
這不行,'退出'功能不存在。和Close一樣。 – Jason
這不起作用 – Jason
這雖然是隨機的。這次它給了我'失敗/錯誤:無法從回溯中找到匹配的行 Selenium :: WebDriver :: Error :: NoSuchWindowError: getUrl執行失敗; 找不到窗口' – Ava