Ruby - Watir webdriver在browser.goto(url)之后超时,即使URL已成功加载

时间:2014-02-21 03:59:40

标签: ruby ubuntu selenium selenium-webdriver watir-webdriver

我是第一次尝试在Ubuntu中运行Cucumber测试的用户 注意:所有测试都已在Windows机器上成功测试过。

ubuntu 12.04
Ruby 2.1.0
selenium-webdriver (2.40.0)
watir-webdriver (0.6.8)
cucumber (1.3.10)

当我尝试在Ubuntu中运行相同的测试时,我得到:

  

Net :: ReadTimeout(Net :: ReadTimeout)   /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/protocol.rb:158:in rescue in rbuf_fill' /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/protocol.rb:152:in rbuf_fill'   /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/protocol.rb:134:in readuntil' /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/protocol.rb:144:in readline'   /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/response.rb:39:in read_status_line' /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/response.rb:28:in read_new'   /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:1408:in block in transport_request' /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:1405:in catch'   /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:1405:in transport_request' /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:1378:in request'   /home/ivs/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http.rb:1371:in“阻止请求”

我可以看到目标页面已成功加载,但测试不想继续

我可以看到类似的问题 How to deal with a page which fails to load and continue testing in Watir-Webdriver

Watir/Selenium - browser.goto keep getting TimeOut error on Chrome and Firefox

但两者都没有适当的分辨率。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

这实际上与您的网络问题有关。我认为这个问题是由于未能加载所有网络资源造成的。 selenium将等待所有资源被加载,如果它们无法在一定时间内完成,如60秒,它将通过超时异常。