运行rspec测试时出现以下错误
无法在rails中以60秒(127.0.0.1:7055)获得稳定的firefox连接
使用最新的ruby(1.9.2)和firefox(6.0)
使用rspec-rails,capybara和其他几种宝石,但它们似乎不是问题。这些测试在另一个环境(linux)中运行良好。
答案 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有帮助。
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 v1.8.24。
答案 7 :(得分:0)
这只是对每个人在上面所说的重复。我检查了我的gemfile并确保'selenium-webdriver'对它没有任何限制,然后运行'bundle update'并且它有效。
我在ubuntux64和Windows 8 x64
上