tra*_*f04 10 selenium cucumber capybara
我有一个用于测试UI功能的Cucumber场景.有时候由于几个问题之一,网页需要花费大量时间来回应而且Capybara会因出现以下错误而超时.
ruby-1.9.3-p327/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
ruby-1.9.3-p327/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
ruby-1.9.3-p327/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
ruby-1.9.3-p327/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
ruby-1.9.3-p327/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
Run Code Online (Sandbox Code Playgroud)
我的问题是 -
我可以以某种方式强制Cucumber场景或Capybara分别在超时错误时重试(持续次数)整个场景或步骤吗?
也许,你可以这样做:
Around do |scenario, block|
for i in 1..5
begin
block.call
break
rescue Timeout::Error
next
end
end
end
Run Code Online (Sandbox Code Playgroud)
但由于错误,我无法弄清楚这段代码是否有效(不可能在周围钩子中多次调用块)
| 归档时间: |
|
| 查看次数: |
1599 次 |
| 最近记录: |