Ruby 为什么我得到的是超时错误而不是元素不存在?

Ruby 为什么我得到的是超时错误而不是元素不存在?,ruby,rspec,selenium-webdriver,timeoutexception,page-object-gem,Ruby,Rspec,Selenium Webdriver,Timeoutexception,Page Object Gem,我正在使用页面对象gem和seleniumwebdriver测试一个web应用程序 在主页[起始页]中,我有一些RSpec验证。但我得到的是以下错误,而不是RSpec异常: >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_f

我正在使用页面对象gem和seleniumwebdriver测试一个web应用程序

在主页[起始页]中,我有一些RSpec验证。但我得到的是以下错误,而不是RSpec异常:

>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'

有人面临这个问题吗?

我不熟悉ruby,没有代码就很难回答。但我的猜测是:


Selenium在尝试访问DOM元素时使用的概念是。因此,我猜您对所讨论的元素使用了某种选择器,然后selenium试图找到它。它似乎不存在,因此引发超时。该行为是预期的。

如果该元素不在页面中,我应该会收到相应的错误消息。[element not present]此错误消息对我来说有些奇怪。可能我错了,但是您没有显示相关的代码部分,所以我只能猜测。class StartPage包括PageObject page_url“#{url}”link:login,:link=>“登录”预期的_元素:登录结束这是起始页代码。我得到了预期元素行中的错误。它应该抛出不存在的元素。但我得到了超时错误。