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

时间:2011-08-31 21:20:56

标签: ruby-on-rails ruby ruby-on-rails-3 firefox automated-tests

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

  
    

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

  

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

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

8 个答案:

答案 0 :(得分:99)

[更新 - 这可以(对我而言)仍然是 2015 | mdurrant |]

中此问题的解决方法

我遇到了this problem lately

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

确定我添加了:

gem 'selenium-webdriver', '2.25.0'

在我的Gemfile中。

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

答案 1 :(得分:17)

我无法在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

答案 2 :(得分:12)

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

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

如果您没有synaptic,可以使用apt-get install synaptic安装它。

更新:在2.22中添加了Firefox 12支持,在2.23中添加了FF13支持

答案 3 :(得分:10)

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

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的方法。

答案 4 :(得分:3)

  

* /变种/ LIB /宝石/ 1.9.1 /宝石/硒的webdriver-2.35.1 / LIB /硒/ webdriver的/火狐/ launcher.rb:79:在   `connect_until_stable':无法获得稳定的firefox连接   60秒   (127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError)*

我遇到了同样的问题,更新selenium-webdriver没有帮助(这是目前最新版本)。

事实证明,我尝试从SSH会话运行我的脚本,并且未设置$DISPLAY

问题已解决:

export DISPLAY=:0

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

答案 5 :(得分:2)

bundle update selenium-webdriver

答案 6 :(得分:1)

将'launchy'gem添加到我的应用程序的Gemfile中,可以使用FF13.0,Capybara& Selenium v​​1.8.24。

答案 7 :(得分:0)

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

我在ubuntux64和Windows 8 x64