运行测试时出现超时错误Cucumber/Watir

use*_*236 8 cucumber watir-webdriver

我希望有人可以帮助我解决我在运行黄瓜测试时遇到的问题.

我收到以下错误:

  Timeout::Error (Timeout::Error)
      C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
      C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
      C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
      C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1293:in `request'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:745:in `start'
      C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1284:in `request'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:82:in `response_for'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:38:in `request'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:598:in `raw_execute'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:576:in `execute'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:242:in `getScreenshot'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:34:in `screenshot_as'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `block in save_screenshot'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `open'
      C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `save_screenshot'
Run Code Online (Sandbox Code Playgroud)

有没有人知道是什么原因造成的?

在我的测试套件执行期间随机发生此错误.在套件中我会有150个场景,我看到这个错误发生在不同的阶段.例如,可能发生在方案50或方案100中.我通过Jenkins的rake文件或通过cmd窗口运行我的测试但是如果我使用任何一种方法都会发生错误.

我们这里的测试站点可能有点奇怪,而且这里有一个奇怪的超时,可能会有所期待.但是,一旦此错误开始发生,从测试中发生的所有其他测试发生错误将具有相同的问题.我的场景都不依赖于彼此.每个场景通常都以一个步骤开始I go to the homepage- 在.rb我已经@browser.cookies.clear包含的文件中的这个步骤中,因此前一个场景中不应该剩下任何数据.

有没有其他人遇到这个,如果是这样你采取了什么步骤来排序它?

Car*_*yre 2

我最近也遇到了同样的问题。由于我看不到你的代码,我不确定到底发生了什么,但使用某种类型的救援应该可行。我的问题是使用无头浏览器并拯救......

  begin
    browser = Watir::Browser.start site
  rescue Timeout::Error
    puts "Timeout Rescue"
  retry
Run Code Online (Sandbox Code Playgroud)

让我知道这个是否奏效。