错误'超时(Capybara :: TimeoutError)'

时间:2012-10-15 15:39:53

标签: ruby-on-rails cucumber capybara

当我使用标记@firebug运行我的功能时,我的测试运行并顺利通过,但当我删除标记@firebug并运行测试无头时,我收到错误timed out (Capybara::TimeoutError)。不幸的是,我无法提供更多信息。我并不是真的期待一个答案,但是任何帮助我指明正确方向的人都会非常感激。

1 个答案:

答案 0 :(得分:3)

尝试放置@javascript然后运行无头...希望它有效...

您可以尝试多一个解决方案。我使用谷歌Chrome而不是Firefox删除了此错误并使用了curb协议。首先,你必须得到镀铬驱动程序。我没有收到此错误没有删除fakeweb 我认为,是罪魁祸首

 yum install curl
 yum install curl-devel
 gem install curb
 cd /usr/bin/chromedriver
 chmod +x /usr/bin/chromedriver

env.rb

中加入此内容
require 'selenium/webdriver/remote/http/curb'

Capybara.register_driver :selenium do |app|
  #http_client = Selenium::WebDriver::Remote::Http::Default.new
  #http_client.timeout = 100
  #Capybara::Selenium::Driver.new(app, :browser => :firefox, :http_client => http_client)

  http_client = Selenium::WebDriver::Remote::Http::Curb.new
  Capybara::Selenium::Driver.new(app, :browser => :chrome, :http_client => http_client)

end       

希望它有所帮助...