I ended up increasing the client timeout:

client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 180 # seconds – default is 60

browser = Watir::Browser.new :firefox, :http_client => client



On Tuesday, August 28, 2012 10:07:06 AM UTC-6, Hams wrote:
>
> 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]> 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]
>>> http://groups.google.com/group/watir-general
>>> [email protected]
>>>
>>
>>

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

Reply via email to