我在Ubuntu服务器上最近安装的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'
我已经读过我应该更新selenium-webdriver gem,但我知道它是最新的。还在jenkins中安装了firefox插件,但仍无法正常工作。
答案 0 :(得分:3)
如果您只是搜索SO以及#34; Jenkins无法在60秒内获得稳定的Firefox连接"你会发现这是一个相当普遍的问题。你也会发现它可能是由许多事情引起的。
export DISPLAY=:0
,或运行一个程序,如XVFB(一个虚拟帧缓冲区),或使用无头宝石(包装XVFB),所以firefox不会在没有显示器。 一个很好的初步故障排除步骤是改变你的jenkins脚本,让它尝试启动firefox本身(不是通过webdriver),如果它运行,那么通常会排除权限或无头问题,所以问题出在webdriver和Firefox浏览器。如果您收到错误,则可能表明问题是权限还是缺少显示。
您基本上需要消除此问题的所有可能原因,因为您的搜索将揭示有许多潜在的原因和解决方案。这里有一个小样本(是的,尽管标题几乎相同,但每个问题都是不同的SO问题):
答案 1 :(得分:1)
我不熟悉Firefox插件,你不应该需要它,它可能会导致冲突。 Watir使用Selenium来查找路径中的任何firefox可执行文件。确保Firefox 45在您的Ubuntu系统中存在于$ PATH中列出的文件夹中,Selenium将连接到它。
答案 2 :(得分:1)
根据我的经验,这是版本问题,我已经决定使用Firefox 33.0
答案 3 :(得分:0)
正如Chuck van der Linden所说
你基本上需要消除这个问题的所有可能原因,因为你的搜索将揭示有很多潜在的原因和解决方案。
然后我尝试这样做Firefox无法访问显示器。 检查你的Jenkins和(或)Selenium是从kde,unity等开始作为服务或类似的程序吗?