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


80

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

无法在60秒(127.0.0.1:7055)的导轨中获得稳定的Firefox连接

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

使用rspec-rails,capybara和其他几个gem,但它们似乎不是问题。这些测试可以在其他环境(Linux)中正常运行。

Answers:


99

[更新-这可以(对我来说)仍然是2015年该问题的修复| mdurrant |]

最近遇到了这个问题

您应该升级到capybara v1.0.1,以拥有正确的Selenium Webdriver。

确保我添加了:

gem 'selenium-webdriver', '2.25.0'

在我的Gemfile中。

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


11
我实际上做了“捆绑更新selenium-webdriver”,但是无论哪种方式,目标都是将selenium-webdriver gem更新到2.5.0。更新后测试运行正常。
斯里尼K 2011年

刚做。抱歉耽搁了。
斯里尼·K 2011年

1
必须做-gem'selenium-webdriver','> =
2.5.0'

7
Firefox 19需要selenium-webdriver 2.31.0。答案似乎总是:“获取最新的selenium-webdriver”。
jwadsa​​ck

我总是只保留版本号,selenium-webdriver然后bundle update selenium-webdriver在需要更新版本时执行。
杰森·斯威特

17

我无法在Ubuntu上的Firefox 10上使用它。切换到Chrome很有帮助。

安装Chrome驱动程序

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

5
如果你是在Mac上,你可以简单brew install chromedriver
威尔

为我工作,除了这样做:(Capybara.javascript_driver = :selenium_chrome而不是设置current_driver。)
蒂姆·斯科特

切换到Chrome可以帮助您建立稳定的Firefox连接?迷人。:)
D. Patrick

12

对于使用Firefox 12遇到此问题的任何人,当前的硒webdriver(2.21)不支持FF12。我发现唯一的解决方案是继续使用Firefox,是将Firefox降级,直到使用FF12支持更新了selenium-webdriver。

可以使用Synaptic软件包管理器来完成此操作,方法是选择Firefox软件包,然后单击“软件包”菜单>“强制版本”>选择一个早期版本。然后应用更改。

如果没有突触,则可以使用apt-get install synaptic进行安装。

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


非常感谢,为我节省了很多时间。
Slotos

1
selenium-webdriver通过2.22.0.rc1与FF12配合使用
Gazler 2012年

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

然后使用xvfb-run前面的命令运行规格。

xvfb-run bundle exec rake spec:features

这就是导致我进入以上文章的答案。它还提供了使用Xvfb的替代方法。


1
其“ xfonts-西里尔字母”,最后一个c不见了
Federico Gaule Palombarani

3

* / 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脚本之前(echo $DISPLAY在X会话的终端中使用,以找出需要放入此变量的内容)。



1

在应用程序的Gemfile中添加了“启动”的gem即可使用FF13.0,Capybara&Selenium v​​1.8.24。


1
我怀疑如果此问题得以解决,那仅仅是因为添加启动程序会导致引入水豚的更高版本(例如,作为依赖项)。
Stefan Magnuson

0

这只是每个人上面所说的重申。我检查了我的gemfile,并确保“ selenium-webdriver”对其没有任何限制,然后运行了“捆绑更新”,并且它可以正常工作。

我在ubuntux64和Windows 8 x64上

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.