无法在firefox Jenkins上运行自动化

无法在firefox Jenkins上运行自动化,firefox,jenkins,webdriver,jenkins-plugins,watir-webdriver,Firefox,Jenkins,Webdriver,Jenkins Plugins,Watir Webdriver,我在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/laun

我在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'

我已经读到应该更新SeleniumWebDriverGem,但我已经更新了它。也在jenkins中安装了firefox插件,但仍然无法工作。

我对firefox插件不熟悉,你不应该需要它,它可能会导致冲突。Watir使用Selenium查找路径中的任何firefox可执行文件。请确保您的Ubuntu系统上的$PATH文件夹中有Firefox 45,Selenium将连接到该文件夹。

我不熟悉Firefox插件,您不需要它,它可能会导致冲突。Watir使用Selenium查找路径中的任何firefox可执行文件。确保您的Ubuntu系统上的$PATH文件夹中有Firefox 45,Selenium将连接到该文件夹。

如果您只是搜索“Jenkins无法在60秒内获得稳定的Firefox连接”,您会发现这是一个相当常见的问题。你也会看到它可能是由很多事情引起的

  • FF和Webdriver之间的版本控制冲突:(最常见)通常是因为您没有运行最新版本的firefox和/或使用最新的selenium Webdriver gem
  • 权限问题:jenkins在executor系统上使用的帐户没有实际执行firefox的权限。如果您通过手动登录executor系统进行测试,请确保您使用的用户与Jenkins使用的用户相同
  • 无显示:由于大多数詹金斯遗嘱执行人无头运行而导致。您可能需要设置一个环境变量,例如
    export DISPLAY=:0
    ,或者运行一个像XVFB(虚拟帧缓冲区)这样的程序,或者使用无头gem(包装XVFB),这样firefox就不会因为缺少显示而犹豫不决
一个很好的初始故障排除步骤是修改jenkins脚本,让它尝试启动firefox本身(而不是通过webdriver),如果它运行,那么通常排除权限或无头问题,因此问题在webdriver和firefox之间。如果出现错误,它可能会指示问题是权限问题还是缺少显示

您基本上需要消除此问题的所有可能原因,因为您的搜索将揭示此问题的许多潜在原因和解决方案。这里有一个小样本(是的,尽管标题几乎相同,但每个问题都是不同的SO问题):

  • 新的
如果您只是搜索“Jenkins无法在60秒内获得稳定的firefox连接”,您会发现这是一个相当常见的问题。你也会看到它可能是由很多事情引起的

  • FF和Webdriver之间的版本控制冲突:(最常见)通常是因为您没有运行最新版本的firefox和/或使用最新的selenium Webdriver gem
  • 权限问题:jenkins在executor系统上使用的帐户没有实际执行firefox的权限。如果您通过手动登录executor系统进行测试,请确保您使用的用户与Jenkins使用的用户相同
  • 无显示:由于大多数詹金斯遗嘱执行人无头运行而导致。您可能需要设置一个环境变量,例如
    export DISPLAY=:0
    ,或者运行一个像XVFB(虚拟帧缓冲区)这样的程序,或者使用无头gem(包装XVFB),这样firefox就不会因为缺少显示而犹豫不决
一个很好的初始故障排除步骤是修改jenkins脚本,让它尝试启动firefox本身(而不是通过webdriver),如果它运行,那么通常排除权限或无头问题,因此问题在webdriver和firefox之间。如果出现错误,它可能会指示问题是权限问题还是缺少显示

您基本上需要消除此问题的所有可能原因,因为您的搜索将揭示此问题的许多潜在原因和解决方案。这里有一个小样本(是的,尽管标题几乎相同,但每个问题都是不同的SO问题):

  • 新的

根据我的经验,这是一个版本控制问题,我已经决定使用Firefox 33.0


根据我的经验,这是一个版本控制问题,我已经习惯于使用Firefox 33.0


正如查克·范德林登所说

您基本上需要消除此问题的所有可能原因,因为您的搜索将揭示此问题的许多潜在原因和解决方案

然后我试着这么做Firefox无法访问display。
检查您的Jenkins和(或)Selenium是否作为kde、unity等的服务或类似程序启动?

正如Chuck van der Linden所说

您基本上需要消除此问题的所有可能原因,因为您的搜索将揭示此问题的许多潜在原因和解决方案

然后我试着这么做Firefox无法访问display。
检查kde、unity等的Jenkins和(或)Selenium started as service或类似程序?

Firefox安装正确,因为当我在服务器上手动运行测试时,它会启动Firefox驱动程序并运行测试。但是当在jenkins上运行测试时,错误仍然存在Firefox安装正确,因为当我在服务器上手动运行测试时,它会启动Firefox驱动程序并运行测试。但是当测试在jenkins上运行时,错误持续显示我可以检查jenkins是否有权限执行权限(我是ubuntu新手)。一般来说,我会说让你的开发人员帮助你(或者是管理jenkins的人)您应该能够编写适当的linux命令脚本,以检查登录用户在firefox上的权限。我远不是尼克斯专家,也不是我编辑的答案