2012-10-15 171 views
4

当我使用标记@firebug运行我的功能时,我的测试运行并且顺利通过,但是当我删除标记@firebug并运行无头测试时,出现错误timed out (Capybara::TimeoutError)。不幸的是,我无法提供更多信息。我并不真正期望得到答案,但任何帮助将我指向正确的方向将非常感激。错误'超时(水豚::超时错误)'

回答

3

尝试把@javascript然后运行无头......希望工程......

你可以尝试多了一个解决方案。我通过使用谷歌浏览器而不是Firefox并使用了限制协议来消除此错误。首先你必须得到铬驱动程序。我没有得到这个错误而不删除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  

希望它可以帮助...

+0

我希望我能给这个+10000!这解决了一个问题,我们一直在我的办公室里多次回购,令我们感到沮丧。 – steve

+0

我得到“未初始化的常量Selenium”,如果我将它改为“Capybara :: Selenium”,我会得到“未初始化的常量Capybara :: Selenium :: WebDriver” – jackocnr