我們的CI測試隨着'chrome not reachable'錯誤隨機失敗。最初它們非常罕見,但隨着我們的測試基地的增長,它變得無法容忍。還有其他幾個關於這方面的問題/錯誤報告,但沒有一個與我們的案例有關。Webdriver在Linux測試中隨機生成'chrome not reachable'
這些測試是用Cucumber + Ruby + Watir-Webdriver + Selenium-Webdriver(每個gem的最新版本)編寫的。我們在Ubuntu Linux 12.04上以無頭模式在物理硬件上使用xvfb(無虛擬化)運行測試。我可以在運行Linux Mint 16的筆記本電腦上可靠地重現它。我們正在並行運行測試以加快速度。
我試過使用Chromium 18.0.1025.151〜r130497-0ubuntu1和Google Chrome 34.0.1847.116,ChromeDriver v2.9.248304。老版本的瀏覽器和ChromeDriver也出現同樣的問題。
通常,由於相同的錯誤,多個測試在一行中失敗,然後在同一運行期間的後續測試中再次開始工作。
堆棧跟蹤爲:
chrome not reachable
(Session info: chrome=34.0.1847.116)
(Driver info: chromedriver=2.9.248304,platform=Linux 3.2.0-60-generic x86_64) (Selenium::WebDriver::Error::WebDriverError)
/home/weller/jenkins/workspace/TEST_CHROME_C/server/cucumber/support/step_support/browsers.rb:14:in `goto'
/home/weller/jenkins/workspace/TEST_CHROME_C/server/cucumber/support/step_support/browsers.rb:35:in `blank_page'
/home/weller/jenkins/workspace/TEST_CHROME_C/server/cucumber/support/step_support/browsers.rb:44:in `add_cookie'
./features/support/mocking.rb:11:in `mock'
./features/support/time_steps.rb:5:in `/^the current time zone is "(.*?)"$/'
features/trackers/mood/mood_data_entry.feature:7:in `And the current time zone is "GMT+4"'
更新:這個問題似乎涉及到並行。當其中一個測試退出時,另一個測試可能會因'chrome not reachable'而失敗。如果我在測試結束時添加延遲,以便所有測試在任何Chrome窗口關閉之前完成,測試運行沒有問題。我0123>針對ChromeDriver的問題。
間歇性,通常意味着您的網絡存在間歇性問題。您是否曾嘗試在參與測試的每臺計算機的單獨命令提示符下執行ping -t www.google.com?當我嘗試時,大部分時間我都遇到了Chrome無法訪問的問題,我也看到了連接問題。 – gorbysbm
問題發生在我們的本地網絡上,所以我懷疑網絡連接問題。我會添加ping輪詢以確保。 在我們的測試中添加了並行化(不同的測試正在單獨的無頭Chrome實例中運行)後,問題變得更糟。 – Sampo
我其實是指本地網絡。在您自己的公司發生互聯網問題是非常可能的......我無法弄清楚什麼時候發生這種情況的最佳解決方法。如果你想知道什麼,請做一些代碼:) – gorbysbm