我在测试中使用黄瓜+水豚
env.rb
Capybara.run_server = false
Capybara.default_driver = :selenium
World(Capybara::DSL)
在我的测试中,我点击链接
Then /^I see deals on map$/ do
find("#dealmap").click
end
以上操作是打开一个图层(div)但是该过程停留在find(“#dealmap”)上。单击方法。 5秒后我收到以下错误
Timeout::Error (Timeout::Error)
/usr/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
/usr/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
/usr/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
/usr/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
/usr/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
/usr/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
/usr/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
/usr/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
/usr/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
/usr/lib/ruby/1.9.1/net/http.rb:1293:in `request'
/usr/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
/usr/lib/ruby/1.9.1/net/http.rb:745:in `start'
/usr/lib/ruby/1.9.1/net/http.rb:1284:in `request'
./features/frontend/step_definitions/search_results_page.rb:2:in `/^I see deals on map$/'
features/frontend/search_results_page.feature:6:in `Then I see deals on map'
注意: 我已经尝试过增加时间,但它没有解决问题
我无法解决问题。有什么建议吗?
答案 0 :(得分:0)
我认为问题来自这一行
Capybara.run_server = false
如果您正在运行基于机架的测试,则需要此功能。删除它并重新运行测试。
如果您正在运行基于Web的测试,您可能希望将其保留在那里 - 并且仅仅因为您使用Selenium并不意味着您正在运行Web基础测试。您仍然在浏览器中运行基于机架的测试。