在无头centOS上使用firefox 23无法在60秒内获得稳定的firefox连接

Tyl*_*lan 1 ruby headless cucumber watir-webdriver selenium-webdriver

我正试图让黄瓜测试在无头的centOS盒子上运行.我已经安装了Xvfb,firefox和我的测试套件,它们在我们的无头(头?)机器上运行.

版本

CentOS: 6.2
firefox: 23.0.1
headless: 1.0.1
selenium-webdriver: 2.35.0
watir-webdriver: 0.6.4
ruby: 1.9.3
Run Code Online (Sandbox Code Playgroud)

在irb:

1.9.3-p448 :001 > require 'watir-webdriver'
 => true
1.9.3-p448 :002 > require 'headless'
 => true
1.9.3-p448 :004 > headless = Headless.new
 => #<Headless:0x000000025e0860 @display=99, @autopick_display=true, @reuse_display=true, @dimensions="1280x1024x24", @video_capture_options={}, @destroy_at_exit=true>
1.9.3-p448 :005 > headless.start
 => #<Proc:0x000000025e5180@/usr/local/rvm/gems/ruby-1.9.3-p448/gems/headless-1.0.1/lib/headless.rb:175>
1.9.3-p448 :006 > b = Watir::Browser.new(:firefox)
Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055)
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/firefox/launcher.rb:79:in `connect_until_stable'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/firefox/launcher.rb:37:in `block in launch'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/firefox/socket_lock.rb:20:in `locked'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/firefox/launcher.rb:32:in `launch'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/firefox/bridge.rb:24:in `initialize'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/common/driver.rb:31:in `new'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver/common/driver.rb:31:in `for'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/selenium-webdriver-2.35.0/lib/selenium/webdriver.rb:67:in `for'
        from /usr/local/rvm/gems/ruby-1.9.3-p448/gems/watir-webdriver-0.6.4/lib/watir-webdriver/browser.rb:46:in `initialize'
        from (irb):6:in `new'
        from (irb):6
        from /usr/local/rvm/rubies/ruby-1.9.3-p448/bin/irb:13:in `<main>'
Run Code Online (Sandbox Code Playgroud)

在尝试运行测试时我遇到了同样的问题(这更容易重现).

我在这里查看了其他问题,但我已经在使用最新版本了.根据更改日志,他们支持firefox 23.有没有人有任何想法?提前致谢!

更新日期:2013年8月28日0900:我试图运行Xvfb时收到此错误.

[dix] Could not init font path element catalogue:/etc/X11/fontpath.d, removing from list!
[dix] Could not init font path element built-ins, removing from list!
Run Code Online (Sandbox Code Playgroud)

我用它来修复它

yum -y install libXfont
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.

更新日期:8/28/2013 0930:根据TDHM的建议,我通过运行将Firefox降级到17.0.8

yum downgrade firefox
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.

Tyl*_*lan 6

我的一位同事设法解决了这个问题.运行以下代码行:

$ dbus-uuidgen > /var/lib/dbus/machine-id
Run Code Online (Sandbox Code Playgroud)

问题是固定的.是修复的来源

  • 谢谢!这是Ubuntu的sudo命令:`sudo sh -c"dbus-uuidgen>/var/lib/dbus/machine-id"` (2认同)