运行rspec测试时出现以下错误
无法在60秒(127.0.0.1:7055)的导轨中获得稳定的Firefox连接
使用最新的ruby(1.9.2)和firefox(6.0)
使用rspec-rails,capybara和其他几个gem,但它们似乎不是问题。这些测试可以在其他环境(Linux)中正常运行。
Answers:
selenium-webdriver
然后bundle update selenium-webdriver
在需要更新版本时执行。
我无法在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
brew install chromedriver
Capybara.javascript_driver = :selenium_chrome
而不是设置current_driver
。)
对于使用Firefox 12遇到此问题的任何人,当前的硒webdriver(2.21)不支持FF12。我发现唯一的解决方案是继续使用Firefox,是将Firefox降级,直到使用FF12支持更新了selenium-webdriver。
可以使用Synaptic软件包管理器来完成此操作,方法是选择Firefox软件包,然后单击“软件包”菜单>“强制版本”>选择一个早期版本。然后应用更改。
如果没有突触,则可以使用apt-get install synaptic进行安装。
更新:在2.22中添加了Firefox 12支持,在2.23中添加了FF13支持
我收到此错误是因为规范在无头服务器上运行。这意味着没有显示供浏览器呈现。
本文建议使用虚拟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
* / 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会话的终端中使用,以找出需要放入此变量的内容)。
在应用程序的Gemfile中添加了“启动”的gem即可使用FF13.0,Capybara&Selenium v1.8.24。