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

Sri*_*i K 80 ruby firefox automated-tests ruby-on-rails ruby-on-rails-3

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

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

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

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

apn*_*ing 99

[更新 - 这可以(对我而言)仍然是2015年这个问题的解决方案| mdurrant |]

最近遇到了这个问题.

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

确定我添加了:

gem 'selenium-webdriver', '2.25.0'
Run Code Online (Sandbox Code Playgroud)

在我的Gemfile中.

重要提示:
selenium-webdriver宝石被更新,新版本的发布,为Firefox的所有后续版本.目前,2.25.0需要版本来支持Firefox 15.

  • 我实际上做了'捆绑更新selenium-webdriver',但无论哪种方式,目标是将selenium-webdriver gem更新为2.5.0.更新后测试运行正常. (11认同)
  • Firefox 19需要selenium-webdriver 2.31.0.似乎答案总是"获取最新的selenium-webdriver". (7认同)

Vin*_*ent 17

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

安装Chrome驱动程序.

spec_helper.rb:

Capybara.register_driver :selenium_chrome do |app|   
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Run Code Online (Sandbox Code Playgroud)

在您的规范中:

Capybara.current_driver = :selenium_chrome
... tests ...
Capybara.use_default_driver
Run Code Online (Sandbox Code Playgroud)

  • 如果你在Mac上,你可以简单地"brew install chromedriver" (5认同)

mlt*_*tsy 12

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

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

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

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


br3*_*3nt 10

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

本文建议使用虚拟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
Run Code Online (Sandbox Code Playgroud)

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

xvfb-run bundle exec rake spec:features
Run Code Online (Sandbox Code Playgroud)

这是SO答案,引导我阅读上述文章.它还提供了使用Xvfb的替代方法.