firefox - Watir tests fail when running in background under windows 8 -
i'm running watir tests in firefox using jenkins slave installed service under windows 8 in virtual box.
testcases include 2 tests. when run them manually, fine. when jenkins runs them, first test succeeds, , second fails exception:net::readtimeout: net::readtimeout
.
i have tried different combinations of test code , begin/rescue
blocks, everytime exception caused browser object methods:
@browser.goto @browser.execute_script @browser.wait_until_present @browser.close ...
setup , teardown are:
def teardown @browser.close end def setup profile = selenium::webdriver::firefox::profile.new profile.add_extension @extension_path @browser = watir::browser.new :firefox, :profile => profile end
gems versions:
watir (4.0.2) selenium-webdriver (2.33.0)
i have tried run service under system account desktop interaction enabled , under local user account.
one of error logs:
> net::readtimeout: net::readtimeout c:/ruby200-x64/lib/ruby/2.0.0/net/protocol.rb:158:in `rescue in rbuf_fill' c:/ruby200-x64/lib/ruby/2.0.0/net/protocol.rb:152:in `rbuf_fill' c:/ruby200-x64/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil' c:/ruby200-x64/lib/ruby/2.0.0/net/protocol.rb:144:in `readline' c:/ruby200-x64/lib/ruby/2.0.0/net/http/response.rb:39:in `read_status_line' c:/ruby200-x64/lib/ruby/2.0.0/net/http/response.rb:28:in `read_new' c:/ruby200-x64/lib/ruby/2.0.0/net/http.rb:1406:in `block in transport_request' c:/ruby200-x64/lib/ruby/2.0.0/net/http.rb:1403:in `catch' c:/ruby200-x64/lib/ruby/2.0.0/net/http.rb:1403:in `transport_request' c:/ruby200-x64/lib/ruby/2.0.0/net/http.rb:1376:in `request' c:/ruby200-x64/lib/ruby/2.0.0/net/http.rb:1369:in `block in request' c:/ruby200-x64/lib/ruby/2.0.0/net/http.rb:852:in `start' c:/ruby200-x64/lib/ruby/2.0.0/net/http.rb:1367:in `request' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/default.rb:83:in `response_for' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/default.rb:39:in `request' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:629:in `raw_execute' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:607:in `execute' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:195:in `quit' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/bridge.rb:55:in `quit' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/driver.rb:168:in `quit' c:/ruby200-x64/lib/ruby/gems/2.0.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/browser.rb:135:in `close' c:/jenkins/workspace/tests_matrix/test_browser/firefox/test_os/windows8/build_script_win/tests/test_case2.rb:173:in `teardown' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1316:in `block in run' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1314:in `each' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1314:in `run' c:/ruby200-x64/lib/ruby/2.0.0/test/unit/testcase.rb:17:in `run' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:919:in `block in _run_suite' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:912:in `map' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:912:in `_run_suite' c:/ruby200-x64/lib/ruby/2.0.0/test/unit.rb:657:in `block in _run_suites' c:/ruby200-x64/lib/ruby/2.0.0/test/unit.rb:655:in `each' c:/ruby200-x64/lib/ruby/2.0.0/test/unit.rb:655:in `_run_suites' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:867:in `_run_anything' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1060:in `run_tests' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1047:in `block in _run' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1046:in `each' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1046:in `_run' c:/ruby200-x64/lib/ruby/2.0.0/minitest/unit.rb:1035:in `run' c:/ruby200-x64/lib/ruby/2.0.0/test/unit.rb:21:in `run' c:/ruby200-x64/lib/ruby/2.0.0/test/unit.rb:774:in `run' c:/ruby200-x64/lib/ruby/2.0.0/test/unit.rb:834:in `run' c:/ruby200-x64/lib/ruby/2.0.0/test/unit.rb:838:in `run' c:/users/test/appdata/local/temp/hudson2953103359547849695.sh:4:in `<main>'
i run net::readtimeout error, too, , tried hard fix refresh browser after catching net::readtimeout error, this:
begin @browser.goto website rescue net::readtimeout @browser.refresh sleep 1 unless @browser.ready_state == "complete" end
i think if post test case code, maybe reach solution.
Comments
Post a Comment