8

我們的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的問題。

+0

間歇性,通常意味着您的網絡存在間歇性問題。您是否曾嘗試在參與測試的每臺計算機的單獨命令提示符下執行ping -t www.google.com?當我嘗試時,大部分時間我都遇到了Chrome無法訪問的問題,我也看到了連接問題。 – gorbysbm

+0

問題發生在我們的本地網絡上,所以我懷疑網絡連接問題。我會添加ping輪詢以確保。 在我們的測試中添加了並行化(不同的測試正在單獨的無頭Chrome實例中運行)後,問題變得更糟。 – Sampo

+0

我其實是指本地網絡。在您自己的公司發生互聯網問題是非常可能的......我無法弄清楚什麼時候發生這種情況的最佳解決方法。如果你想知道什麼,請做一些代碼:) – gorbysbm

回答

0

你可以用下面的選項嘗試,

1)不要運行大量詹金斯工作paralelly 2)儘量少用線程,而不是多線程來創建瀏覽器。

它會解決你的問題。

如果您有更多測試,應該實施硒網格。

1

我有同樣的問題,在我的情況下,這是因爲用戶數據目錄,這是由chromedriver隨機創建的,在某些情況下,對於幾個測試是相同的。我通過同步創建webdriver解決了這個問題(性能不受此影響)