2016-04-28 24 views
0

我在Ubuntu服務器上最近安裝的Jenkins上運行自動化項目時遇到問題。我有以下錯誤:無法在firefox上運行自動化Jenkins

Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055) 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/launcher.rb:90:in `connect_until_stable' 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/launcher.rb:55:in `block in launch' 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/socket_lock.rb:43:in `locked' 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/launcher.rb:51:in `launch' 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/bridge.rb:43:in `initialize' 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/driver.rb:53:in `new' 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/driver.rb:53:in `for' 
/var/lib/gems/2.3.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver.rb:84:in `for' 
/var/lib/gems/2.3.0/gems/watir-webdriver-0.9.1/lib/watir-webdriver/browser.rb:46:in `initialize' 
/var/lib/jenkins/workspace/JobScience/lib/New_Automation/Test/test_basic.rb:15:in `new' 
/var/lib/jenkins/workspace/JobScience/lib/New_Automation/Test/test_basic.rb:15:in `setup' 

我讀過,我應該更新硒webdriver的寶石,但我把它最新的。還在jenkins中安裝了firefox插件,但仍然無法運行。

回答

1

我不熟悉Firefox插件,你不應該需要它,它可能會導致衝突。 Watir使用Selenium來查找你的路徑中的任何firefox可執行文件。確保您的Ubuntu系統中的Firefox 45存在於$ PATH中列出的文件夾中,並且Selenium將連接到它。

+0

Firefox正確安裝,因爲當我在服務器上手動運行測試時,它會啓動firefox驅動程序並運行測試。但是,當測試在jenkins上運行時,錯誤仍然存​​在 – elcharrua

3

如果您只搜索「因爲Jenkins在60秒內無法獲得穩定的Firefox連接」,您會發現這是一個相當普遍的問題。你也會看到它可能是由許多事情引起的。

  • FF和Webdriver之間的版本控制衝突:(最常見)通常是因爲您沒有運行最新版本的Firefox,和/或使用最新的selenium-webdriver gem。
  • 權限問題:jenkins在執行程序系統上使用的帳戶沒有實際執行firefox的權限。如果您正在通過手動登錄執行器系統來測試此操作,請確保您使用的是與Jenkins相同的用戶。
  • 不顯示:由於大多數詹金斯執行者無法運行而引起。您可能需要設置一個環境變量,例如export DISPLAY=:0,或者運行一個像XVFB(虛擬幀緩衝區)的程序,或者使用無頭封套(包裝XVFB),這樣firefox就不會因缺乏顯示器而停下腳步。

良好的初始故障排除步驟是改變你的詹金斯的腳本只是在用它嘗試啓動Firefox本身(而不是通過webdriver的),如果它運行,則通常排除權限或無頭的問題,所以這個問題是webdriver和firefox之間。如果出現錯誤,它可能會指示問題是否是權限問題,或缺少顯示。

你基本上需要消除這個問題的所有可能的原因,因爲你的搜索將揭示有很多潛在的原因和解決方案。這裏是一個小樣本(是的,這些都是不同的SO問題,儘管標題幾乎相同):

+0

如何檢查jenkins是否具有權限執行權限(我是ubuntu的新手)。 – elcharrua

+0

通常我會說讓你的dev-ops類型的人幫助你(或誰管理詹金斯) 你應該能夠編寫適當的linux命令來檢查登錄用戶在Firefox上的權限。我遠離* nix專家,或者我 –

+0

編輯的答案包括鏈接到這個問題的另一個新例子,也增加了一個很好的故障排除步驟,我想起了。 –

0

由於查林登說

You basically need to eliminate all the possible causes for this issue, which as your search will reveal there are many potential causes and solutions for this.

然後我嘗試這樣做的Firefox不能老是讓訪問顯示。 檢查你的詹金斯和(或)硒開始作爲服務或從kde,團結等程序?