首页 文章

Watir - 超时:错误 - 忽略睡眠

提问于
浏览
0

Issue: 输入用户ID和密码后,我们的网站加载页面的速度很慢 . 为了抵消这种情况,除了wait_until_present方法之外,我还尝试输入"Sleep"语句 . 网页通常在大约70秒后加载,但是在60秒后我会超时 . 如果除了"wait_until_present"的默认60秒之外我还有90秒的睡眠声明,为什么会发生这种情况?

Code in RB File:

输入用户ID和密码

@browser.driver.find_element(id: "ctl00_ContentPlaceHolder1_Wizard1_txtUserName").send_keys ""
@browser.driver.find_element(name: "ctl00$$Wizard1$StartNavigationTemplateContainerID$btnNext").click
@browser.driver.find_element(id: "ctl00_ContentPlaceHolder1_Wizard1_txtPassword").send_keys ""
@browser.driver.find_element(name: "ctl00$$Wizard1$StepNavigationTemplateContainerID$btnNext").click

等到页面加载

sleep(90)
@browser.b(:text => "You are now viewing info for 1st Global House").wait_until_present

Error:

C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:146:在rbuf_fill中救援':来自C:/Ruby193/lib/ruby/1.9的Timeout :: Error(imeout :: Error) . 1 / net / protocol.rb:140:inrbuf_fill'来自C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:122:inreaduntil'来自C:/Ruby193/lib/ruby/1.9.1 /net/protocol.rb:132:inreadline'from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2563:in read_status_line'from C:/Ruby193/lib/ruby/1.9.1/ net / http.rb:2552:inread_new'来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1320:在block_request中的块中来自C:/Ruby193/lib/ruby/1.9.1 /net/http.rb:1317:incatch'from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1317:in transport_request'from C:/Ruby193/lib/ruby/1.9.1/ net / http.rb:1294:inrequest'来自C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1287:in block in request'from C:/Ruby193/lib/ruby/1.9.1 /net/http.rb:746:instart'from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1285:in request'from C:/Ruby193/lib/ruby/gems/1.9 . 1 / gems / selenium-webdriver-2.44.0 / lib / selenium / ebdriver / remote / http / default.rb:83:inrespon响se_for'来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/ ebdriver / remote / http / default.rb:39:in in request'from C: /Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/ ebdriver / remote / http / common.rb:40:incall'from C:/ Ruby193 / lib / ruby /gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/ ebdriver / remote / bridge.rb:640:in raw_execute'from C:/Ruby193/lib/ruby/gems/1.9.1/ gems / selenium-webdriver-2.44.0 / lib / selenium / ebdriver / remote / bridge.rb:618:不执行'来自C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44 . 0 / lib / selenium / ebdriver / remote / bridge.rb:375:来自C的clickElement':/ Ruby193 / lib / ruby / gems / 1.9.1 / gems / selenium-webdriver-2.44.0 / lib / selenium / ebdriver /common/element.rb:54:inclick'来自createaccount.rb:40:in''

1 回答

  • 0

    根据Ruby Bindings页面,Ruby标准库中的Net :: HTTP类在驱动程序调用之间的默认超时为60秒 . 您可以根据this answer增加此超时 .

相关问题