It still times out after 30 seconds when using ".wait_until_present(180)";
error output below.
RE: 180, the page that pulls up is a live report that is usually pretty
quick, but sometimes their server takes up to a minute to load. I put in 3
to be safe.
FWIW, I'm using Firefox as my browser.
Error Output:
/usr/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill':
Timeout::Error (Timeout::Error)
from /usr/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
from /usr/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
from /usr/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
from /usr/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
from /usr/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
from /usr/lib/ruby/1.9.1/net/http.rb:1319:in `block in
transport_request'
from /usr/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
from /usr/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
from /usr/lib/ruby/1.9.1/net/http.rb:1293:in `request'
from /usr/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
from /usr/lib/ruby/1.9.1/net/http.rb:745:in `start'
from /usr/lib/ruby/1.9.1/net/http.rb:1284:in `request'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:82:in
`response_for'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:38:in
`request'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/common.rb:40:in
`call'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:598:in
`raw_execute'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:576:in
`execute'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:159:in
`getTitle'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver.rb:128:in
`title'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:127:in
`block in matches?'
from
/var/lib/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/target_locator.rb:37:in
`window'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:126:in
`matches?'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:119:in
`block in locate'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:119:in
`each'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:119:in
`find'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:119:in
`locate'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:106:in
`handle'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:53:in
`exists?'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/window.rb:62:in
`present?'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/wait.rb:132:in
`block in wait_until_present'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/wait.rb:19:in
`until'
from
/var/lib/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/wait.rb:132:in
`wait_until_present'
from ./RetryConvioAdvocacyActions.rb:34:in `block (2 levels) in <main>'
from ./RetryConvioAdvocacyActions.rb:32:in `each'
from ./RetryConvioAdvocacyActions.rb:32:in `block in <main>'
from ./RetryConvioAdvocacyActions.rb:27:in `each'
from ./RetryConvioAdvocacyActions.rb:27:in `<main>'
On Tuesday, August 28, 2012 9:41:26 AM UTC-6, Oscar.Rieken wrote:
>
> It should just be
> wait_until_present(180)
>
> but to me 180 seems like trying to bypass a problem perhaps there is
> something else that can be done to avoid waiting for that long
>
> On Tue, Aug 28, 2012 at 10:07 AM, Hams99 <[email protected]
> <javascript:>>wrote:
>
>> Running Ruby1.9.1 and using watir-webdriver gem.
>> In my testing a new page pops up and can more than 30 seconds to load.
>> Below is my current code that is failing, meaning it still times out after
>> 30 seconds. I also tried setting the client timeout but failed at that,
>> but I may have been doing that wrong.
>> Any suggestions?
>> Thanks in advance.
>> -Hams
>>
>> browser = Watir::Browser.new
>> browser.goto reporturl
>> browser.text_field(:index, 0).set username
>> browser.text_field(:index, 1).set password
>> browser.button(:value, 'Login').click
>>
>> ## For Each Page with Retries
>> #############################################
>>
>> for i in 1..pages-1 do
>>
>> ## Click All Retry links on Page
>> ########################################
>>
>> retry_links = browser.links.find_all { |link| link.text =~ /Retry/ }
>> retry_links.each do |thelink|
>> thelink.click
>> browser.window(:title => "New Tab").wait_until_present(timeout=180)
>> browser.window(:title => "New Tab").use do
>> browser.button(:id, 'close').wait_until_present
>> browser.button(:id, 'close').click
>> end
>> end
>>
>>
>> ## Go to Next Page #####################################################
>>
>> browser.link(:id, 'page/next').click
>>
>> end
>>
>> ## Click All Retry links on Last Page ####################################
>>
>> retry_links = browser.links.find_all { |link| link.text =~ /Retry/ }
>> retry_links.each do |thelink|
>> thelink.click
>> browser.window(:title => "New Tab").wait_until_present(timeout=180)
>> browser.window(:title => "New Tab").use do
>> browser.button(:id, 'close').wait_until_present
>> browser.button(:id, 'close').click
>> end
>> end
>>
>> --
>> Before posting, please read http://watir.com/support. In short: search
>> before you ask, be nice.
>>
>> [email protected] <javascript:>
>> http://groups.google.com/group/watir-general
>> [email protected] <javascript:>
>>
>
>
--
Before posting, please read http://watir.com/support. In short: search before
you ask, be nice.
[email protected]
http://groups.google.com/group/watir-general
[email protected]