我目前正在使用每小時運行一次的硒RC進行自動化測試。一切都在大部分時間順利運行,但有時候Firefox會崩潰或者硒RC會掛起,並且由於這兩個問題,測試不會繼續並停止。有誰知道我可以如何使firefox.exe或java.exe(硒實例)在它們崩潰或掛起時被殺死,因此測試可以恢復。我看到的問題是在Firefox或硒掛起時自動檢測並通過腳本自動將其終止。如何處理硒崩潰
謝謝!
我目前正在使用每小時運行一次的硒RC進行自動化測試。一切都在大部分時間順利運行,但有時候Firefox會崩潰或者硒RC會掛起,並且由於這兩個問題,測試不會繼續並停止。有誰知道我可以如何使firefox.exe或java.exe(硒實例)在它們崩潰或掛起時被殺死,因此測試可以恢復。我看到的問題是在Firefox或硒掛起時自動檢測並通過腳本自動將其終止。如何處理硒崩潰
謝謝!
不知道我對你最終的答案,但我可以提供一些建議:
(SE推動我們可怕的極端:。實際上,我們寫了一個SSH工作在TeamCity的是登錄到Windows機器並重新啓動服務器硒有觸發最終,我們沒有使用它)
理想,您的每個測試都將從乾淨的狀態開始,沒有運行現有的Firefox或IE進程。在你的測試tearDown()方法中,你應該關閉/退出你的瀏覽器。即使採用這種方法,有時候,流浪的流程仍然會流行起來。如果您通過Java RC在Windows上運行Selenium服務器,將此命令放入測試的startUp()方法可以幫助確保沒有瀏覽器/實例正在運行:
Runtime.getRuntime().exec("TASKKILL /F /IM Firefox.exe");
Runtime.getRuntime().exec("TASKKILL /F /IM iexplore.exe");
至於檢測到它們何時崩潰,Firefox會顯示一個警告對話框,指示崩潰。您可以通過外部工具(如AutoIT)以編程方式與此窗口進行交互,如果需要,可以自動按下此對話框上的「確定」按鈕。我發現構建一個在後臺不斷運行的外部AutoIT腳本來處理彈出窗口,崩潰,警告等非常有幫助。