我希望有人能幫我解決我在運行我的黃瓜測試時遇到的問題。運行測試時超時錯誤黃瓜/ Watir
我收到以下錯誤:
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窗口中的rake文件運行測試,但如果使用任一方法,則會發生錯誤。
我們這裏的測試網站可能會有一點點缺陷,並且在這裏和那裏可能會出現奇怪的超時。但是,一旦此錯誤開始發生,所有其他測試中發生的錯誤都會出現相同的問題。我的場景都不依賴於對方。每個場景通常以步驟I go to the homepage
開始 - 在我的.rb
文件的此步驟中,我已包含@browser.cookies.clear
,因此應該沒有前一場景剩餘的數據。
有沒有其他人遇到過這種情況,如果是的話,你採取了哪些步驟來排序呢?
是否用於所有測試的瀏覽器實例相同?你使用哪個瀏覽器(即它是瀏覽器特定的問題)? – 2012-08-17 13:13:31
嗨賈斯汀 - 我主要在Firefox 14中看到這個問題。我看到了使用Chrome的其他問題,但不是同一個問題。我將安裝Opera並查看是否遇到相同的問題。我開始認爲它可能是Firefox,自更新以來有幾個不同的問題。我會讓你知道它是怎麼回事。謝謝!! – user1523236 2012-08-17 15:31:31
嘿 - 所以我回到Firefox 12,但我仍然看到這個問題。我也看到這個問題發生在Chrome上,所以我猜想它不是瀏覽器。它可能是Flash播放器嗎?我在Firefox和Flash 11.3版本中遇到了很多問題,所以我必須回滾到11.2。但問題仍然存在。 – user1523236 2012-08-20 09:18:22