运行rspec测试时出现以下错误
无法在rails中60秒(127.0.0.1:7055)获得稳定的firefox连接
使用最新的ruby(1.9.2)和firefox(6.0)
使用rspec-rails,capybara和其他几个宝石,但它们似乎不是问题 . 这些测试在另一个环境(linux)中运行良好 .
[更新 - 这可以(对我而言)仍然是 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 .
selenium-webdriver
我无法在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
对于任何使用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
我收到此错误是因为规格是在无头服务器上运行的 . 这意味着浏览器无法显示 .
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
xvfb-run bundle exec rake spec:features
This was the SO answer引导我阅读上述文章 . 它还提供了使用Xvfb的替代方法 .
/ 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 .
$DISPLAY
问题得到解决:
export DISPLAY=:0
在从SSH会话启动我的Ruby脚本之前(在X会话的终端中使用 echo $DISPLAY 来找出你需要放入这个变量的内容) .
echo $DISPLAY
bundle update selenium-webdriver
将'launchy'gem添加到我的应用程序的Gemfile中,可以使用FF13.0,Capybara和Selenium v1.8.24 .
这只是对每个人在上面所说的重复 . 我检查了我的gemfile,并确保'selenium-webdriver'对它没有任何限制然后运行'捆绑更新'并且它有效 .
我在ubuntux64和Windows 8 x64上
8 回答
[更新 - 这可以(对我而言)仍然是 2015 | mdurrant |]中此问题的修复
我遇到了this problem lately .
您应该升级到capybara v1.0.1以获得正确的selenium webdriver .
确定我添加了:
在我的Gemfile中 .
Important note :
对于每个后续版本的Firefox,都会更新
selenium-webdriver
gem,并发布新版本 . 目前,需要版本 2.25.0 来支持 Firefox 15 .我无法在Ubuntu上使用Firefox 10 . 切换到Chrome有帮助 .
安装Chrome Driver .
spec_helper.rb:
在您的规范中:
对于任何使用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
我收到此错误是因为规格是在无头服务器上运行的 . 这意味着浏览器无法显示 .
This article建议使用虚拟X服务器(X Virtual Framebuffer) . 这允许浏览器在虚拟显示中呈现 .
像这样安装:
然后使用前面的命令
xvfb-run
运行规范 .This was the SO answer引导我阅读上述文章 . 它还提供了使用Xvfb的替代方法 .
我有同样的问题,更新
selenium-webdriver
没有帮助(这是最新版本已经可用) .事实证明,我试图从SSH会话运行我的脚本,并且没有设置
$DISPLAY
.问题得到解决:
在从SSH会话启动我的Ruby脚本之前(在X会话的终端中使用
echo $DISPLAY
来找出你需要放入这个变量的内容) .将'launchy'gem添加到我的应用程序的Gemfile中,可以使用FF13.0,Capybara和Selenium v1.8.24 .
这只是对每个人在上面所说的重复 . 我检查了我的gemfile,并确保'selenium-webdriver'对它没有任何限制然后运行'捆绑更新'并且它有效 .
我在ubuntux64和Windows 8 x64上