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]
