2013-08-01 31 views
2

我有一些SeleniumWebdriver/TestNG測試,我成功運行在FireFox上。如果我正在觀看測試運行,那沒關係。 但是,如果我在此期間開始使用其他瀏覽器,或者例如使用Skype,並且返回運行測試的FireFox窗口,我總會發現發生了一些錯誤 - 例如,「用戶名」輸入沒有填寫。爲什麼Selenium Webdriver如果關注其FireFox窗口,會開始失敗測試?

爲什麼會發生這種情況,我該如何預防它?

+0

您如何運行我們的測試?對於我來說,每個單獨的測試都會產生一個新的firefox實例,它出現在前臺(這可能會非常煩人)(編輯,意外地將其添加爲答案) – confusified

+0

我的測試方式與您的測試方式完全相同。 –

+0

我的意思是你剛剛從一個eclipse項目啓動?我使用ant來啓動自動夜間測試的測試。有一次,我在我的機器上啓動了一個單獨的tty(linux)。這導致測試掛起,直到我檢查他們,在這一點上,他們會繼續按預期。它有可能,如果你的工作窗口彈出,你意外地從盒子中點擊,測試即將填補,只不過是運氣不好/時機。 – confusified

回答

4

填寫表格時儘量使用driver.switchTo().window(driver.getWindowHandle());

+0

I時出現兩個紅色下劃線嘗試使用此代碼。 SwitchTo()想變成switchTo()(用小寫「s」),並且「CurrentWindowHandle無法解析或不是字段」,而當我使用getWindowHandle來代替時,「Window」會得到一個紅色下劃線 –

+1

對不起,我沒有現在沒有任何意義,所以它是所有錯誤的根源。現在更新後嘗試。應該工作 –

+0

我粘貼此代碼前的所有表格,現在我可以在測試運行時工作:) –

相關問題