我正在運行黃瓜1.2.1用Watir-webdriver 0.6.1來測試網頁。超時只能在Jenkins上運行黃瓜
本地所有的測試運行正常,但當試圖啓動它們在CI機器上(詹金斯)我填寫JavaScript表格時超時。我有一個電子郵件和密碼textfields,但黃瓜無法填充它們。幾分鐘後,兩分鐘後,只有電子郵件textfiels已被填充...
javascript窗體打開正確。這是打開的鏈接吧:
`<a id="user_popup" class="textuser_popup" url="/en/bla/" href="javascript:void(0);" trackclick="click/unlogged/test/test/login" rel="nofollow" gaclick="/en/bla/homepage/click:header-section>login">Sign in</a>`
一旦加載窗體,滿足電子郵件和密碼的代碼是:
<ul class="signin">
<li class="reg_form">
<label class="reg_form_label">Your email</label>
<input id="yourEmail" class="l_email" type="text" value="" name="email">
</li>
<li class="password_area">
<label class="reg_form_label">Your password</label>
<input id="yourPassword" class="l_password" type="password" name="password">
</li>
</ul>
我使用PageObject但直接調用元素上一步不工作無論是。我這是怎麼滿山遍野:
@browser.text_field(:id, "yourEmail").set("[email protected]")
@browser.text_field(:id, "yourPassword").set("thePass")
最後,錯誤的是:
execution expired (Timeout::Error)
/usr/lib/ruby/1.8/timeout.rb:64:in `rbuf_fill'
/usr/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
/usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
/usr/lib/ruby/1.8/net/protocol.rb:126:in `readline'
/usr/lib/ruby/1.8/net/http.rb:2028:in `read_status_line'
/usr/lib/ruby/1.8/net/http.rb:2017:in `read_new'
/usr/lib/ruby/1.8/net/http.rb:1051:in `request'
/usr/lib/ruby/1.8/net/http.rb:1037:in `request'
/usr/lib/ruby/1.8/net/http.rb:543:in `start'
/usr/lib/ruby/1.8/net/http.rb:1035:in `request'
當本地啓動測試,它工作絕對沒問題。不知道爲什麼遠程運行失敗。遠程瀏覽器(通常運行在無頭模式下,但我打開一個X11會話來查看執行情況)是Firefox ESR 10.0.8,操作系統是CentOS。
你有什麼建議嗎?如果您需要更多關於該問題的信息,只需詢問。
任何建議都是歡迎的。
感謝您的提示!它可以工作,但不能接受9分鐘(!!)填充兩個文本框。仍然想知道問題出在哪裏;當彈出窗口出現時,執行'command_processor.js'的速度可能會非常緩慢...... – Ezetha
在此之後仍然會超時。正如賈諾所說,這並不能真正解決問題,只能等待更長時間...... – shigazaru