我们有一个用于铁轨项目的大型黄瓜套件。它都是水豚,主要是通过Firefox。
最近我们开始经历一次失败,我正在努力思考。这是它的样子:
visit
在尝试加载页面时陷入困境,而capybara最终会超时寻找任何正在寻找的元素(见下面的跟踪);所有其他功能的后续访问也会超时; 一个可能相关或不相关的细节:我们正在使用多个会话(capybara using_session
),因此在失败时有三个firefox实例。但话说回来,有三个例子在此之前愉快地过去了。
同样的行为出现在我的伴侣的机器上。
rails日志中没有任何可疑之处。没有迹象表明该请求正试图通过。
OSX 10.8.2,ruby 1.9.3,rails 3.2.6,sqlite3,最新的capybara / selenium。
错误堆栈跟踪:
Timeout::Error (Timeout::Error)
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:1293:in `request'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:745:in `start'
/Users/artem/.rbenv/versions/1.9.3-p194-perf/lib/ruby/1.9.1/net/http.rb:1284:in `request'
(eval):2:in `has_css?'
./features/step_definitions/home_page_steps.rb:70:in `/^I am taken to the products page on the retailer site$/'
features/home_page.feature:21:in `Then I am taken to the products page on the retailer site'
Timeout::Error (Timeout::Error)
的修改
bundle update
似乎让它消失了
编辑2
如果您遇到类似的问题且使用的是FireBug(水豚/萤火虫),请尝试禁用它。
编辑3
我想到,既然我们已经从webrick转为thin(在测试/开发中),那么这种情况从未发生过。就像在Gemfile中添加gem 'thin'
一样简单。可能值得一试。
答案 0 :(得分:2)
bundle update
似乎让它消失了