2012-08-17 12 views
8

キュウリテストを実行するときに遭遇する問題を誰かが助けてくれることを願っていました。テスト実行時にタイムアウトエラーが発生しました。キュウリ/ワットー

私は次のエラーが表示されます

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' 

誰がこれを引き起こすものの任意のアイデアを持っていますか?

このエラーは、テストスイートの実行中にランダムに発生します。スイートでは150のシナリオがあり、このエラーはさまざまな段階で発生しています。たとえば、シナリオ50またはシナリオ100で発生する可能性があります。私はJenkinsのレーキファイルまたはcmdウィンドウを使用してテストを実行しますが、どちらの方法を使用してもエラーが発生します。

ここのテストサイトは少しフレークで、ここでは奇妙なタイムアウトになる可能性があります。しかし、いったんこのエラーが発生し始めると、それ以降のすべてのテストでエラーが発生した場合、同じ問題が発生します。私のシナリオはお互いに依存していません。各シナリオは一般にステップI go to the homepageから開始します。このステップではファイルに含まれています。これは、@browser.cookies.clearが含まれているため、前のシナリオのデータは残っていないはずです。

他に誰かがこれに遭遇しましたか?もしそうなら、どのような手順でソートしましたか?

+0

すべてのテストで同じブラウザインスタンスが使用されていますか?どのブラウザを使用していますか(つまり、ブラウザ固有の問題ですか?) –

+0

こんにちはジャスティン - 私はFirefox 14でこの問題を主に目にしています。私は他の問題をChromeを使用して見ましたが、同じ問題はありません。私はOperaをインストールし、同じ問題が発生するかどうかを確認します。私はそれがFirefoxの可能性があります考え始めて、私はいくつかの異なる問題を抱えていた私は更新した。私はそれがどのように進むのかを知らせます。ありがとう!! – user1523236

+0

ちょっと - 私はFirefox 12にロールバックしましたが、まだこの問題があります。私はまた、この問題がChrome上で発生するのを見るので、ブラウザではないと思います。それはフラッシュプレーヤーかもしれない?私はFirefoxとFlashバージョン11.3で膨大な量の問題を抱えていたので、11.2にロールバックする必要がありました。しかし、まだ問題は残っている。 – user1523236

答えて

2

私は最近同じ問題を抱えていました。私はあなたのコードを見ることができないので、私は正確に何が起こっているのか分からないが、いくつかのタイプの救助を使用して動作する必要があります。私の問題は

begin 
    browser = Watir::Browser.start site 
    rescue Timeout::Error 
    puts "Timeout Rescue" 
    retry 

はこれが動作するかどうか、私に教えてください...ヘッドレスブラウザを使用して救出されました。

+0

これは私のために働いたものです。 AJAX呼び出しのためにページがまだ読み込まれているようです。私はちょうどタイムアウトをキャッチし、ページが実際に既に読み込まれているので続行する必要がありました。 – genegc

関連する問題