首页 文章

无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)

提问于
浏览
79

运行rspec测试时出现以下错误

无法在rails中60秒(127.0.0.1:7055)获得稳定的firefox连接

使用最新的ruby(1.9.2)和firefox(6.0)

使用rspec-rails,capybara和其他几个宝石,但它们似乎不是问题 . 这些测试在另一个环境(linux)中运行良好 .

8 回答

  • 10

    [更新 - 这可以(对我而言)仍然是 2015 | mdurrant |]中此问题的修复

    我遇到了this problem lately .

    您应该升级到capybara v1.0.1以获得正确的selenium webdriver .

    确定我添加了:

    gem 'selenium-webdriver', '2.25.0'
    

    在我的Gemfile中 .

    Important note
    对于每个后续版本的Firefox,都会更新 selenium-webdriver gem,并发布新版本 . 目前,需要版本 2.25.0 来支持 Firefox 15 .

  • 3

    我无法在Ubuntu上使用Firefox 10 . 切换到Chrome有帮助 .

    安装Chrome Driver .

    spec_helper.rb:

    Capybara.register_driver :selenium_chrome do |app|   
      Capybara::Selenium::Driver.new(app, :browser => :chrome)
    end
    

    在您的规范中:

    Capybara.current_driver = :selenium_chrome
    ... tests ...
    Capybara.use_default_driver
    
  • 0

    对于任何使用Firefox 12的人来说,目前的selenium webdriver(2.21)不支持FF12 . 我发现的唯一解决方案是继续使用Firefox来降级Firefox,直到selenium-webdriver更新为FF12支持 .

    这可以通过选择Firefox包使用synaptic包管理器完成,然后单击包菜单>强制版本>选择早期版本 . 然后应用更改 .

    如果您没有synaptic,可以使用apt-get install synaptic进行安装 .

    Update: Firefox 12 support was added in 2.22 and FF13 support was added in 2.23

  • 2

    我收到此错误是因为规格是在无头服务器上运行的 . 这意味着浏览器无法显示 .

    This article建议使用虚拟X服务器(X Virtual Framebuffer) . 这允许浏览器在虚拟显示中呈现 .

    像这样安装:

    sudo apt-get install xvfb
    sudo apt-get install x11-xkb-utils
    sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
    

    然后使用前面的命令 xvfb-run 运行规范 .

    xvfb-run bundle exec rake spec:features
    

    This was the SO answer引导我阅读上述文章 . 它还提供了使用Xvfb的替代方法 .

  • 17
    • / var / lib / gems / 1.9.1 / gems / selenium-webdriver-2.35.1 / lib / selenium / webdriver / firefox / launcher.rb:79:在`connect_until_stable'中:无法在60中获得稳定的firefox连接秒(127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError)*

    我有同样的问题,更新 selenium-webdriver 没有帮助(这是最新版本已经可用) .

    事实证明,我试图从SSH会话运行我的脚本,并且没有设置 $DISPLAY .

    问题得到解决:

    export DISPLAY=:0
    

    在从SSH会话启动我的Ruby脚本之前(在X会话的终端中使用 echo $DISPLAY 来找出你需要放入这个变量的内容) .

  • 99
    bundle update selenium-webdriver
    
  • 1

    将'launchy'gem添加到我的应用程序的Gemfile中,可以使用FF13.0,Capybara和Selenium v1.8.24 .

  • 12

    这只是对每个人在上面所说的重复 . 我检查了我的gemfile,并确保'selenium-webdriver'对它没有任何限制然后运行'捆绑更新'并且它有效 .

    我在ubuntux64和Windows 8 x64上

相关问题