2015-10-07 19 views
6

のために拒否した私は、テストページからログアウトしようとしますが、接続の誤りがある場合もございますdriver.find_element_by_xpath( "// [@href =「/ログイン/ページ拒否/user/logout.php '] ")。() 私もlinktext、またはActionChains、同じエラーで裁かクリックしてください。いつかはいつか、いつか起こります。urlopenエラー[errnoが111]接続は、セレンのpython

エラーメッセージは

<urlopen error [Errno 111] Connection refused> 
Stacktrace 

Traceback (most recent call last): 
    File "/home/jenkins/run/workspace/QA_DEV_CINDY_LOGGED/LoggedSmoke/LoggedCommonFunction.py", line 158, in Logout 
    link.click() 
    File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/remote/webelement.py", line 70, in click 
    self._execute(Command.CLICK_ELEMENT) 
    File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/remote/webelement.py", line 404, in _execute 
    return self._parent.execute(command, params) 
    File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/remote/webdriver.py", line 193, in execute 
    response = self.command_executor.execute(driver_command, params) 
    File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/remote/remote_connection.py", line 358, in execute 
    return self._request(command_info[0], url, body=data) 
    File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/remote/remote_connection.py", line 426, in _request 
    resp = opener.open(request) 
    File "/usr/local/lib/python3.3/urllib/request.py", line 469, in open 
    response = self._open(req, data) 
    File "/usr/local/lib/python3.3/urllib/request.py", line 487, in _open 
    '_open', req) 
    File "/usr/local/lib/python3.3/urllib/request.py", line 447, in _call_chain 
    result = func(*args) 
    File "/usr/local/lib/python3.3/urllib/request.py", line 1274, in http_open 
    return self.do_open(http.client.HTTPConnection, req) 
    File "/usr/local/lib/python3.3/urllib/request.py", line 1253, in do_open 
    r = h.getresponse() 
    File "/usr/local/lib/python3.3/http/client.py", line 1147, in getresponse 
    response.begin() 
    File "/usr/local/lib/python3.3/http/client.py", line 358, in begin 
    version, status, reason = self._read_status() 
    File "/usr/local/lib/python3.3/http/client.py", line 328, in _read_status 
    raise BadStatusLine(line) 
http.client.BadStatusLine: '' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/usr/local/lib/python3.3/urllib/request.py", line 1248, in do_open 
    h.request(req.get_method(), req.selector, req.data, headers) 
    File "/usr/local/lib/python3.3/http/client.py", line 1065, in request 
    self._send_request(method, url, body, headers) 
    File "/usr/local/lib/python3.3/http/client.py", line 1103, in _send_request 
    self.endheaders(body) 
    File "/usr/local/lib/python3.3/http/client.py", line 1061, in endheaders 
    self._send_output(message_body) 
    File "/usr/local/lib/python3.3/http/client.py", line 906, in _send_output 
    self.send(msg) 
    File "/usr/local/lib/python3.3/http/client.py", line 844, in send 
    self.connect() 
    File "/usr/local/lib/python3.3/http/client.py", line 822, in connect 
    self.timeout, self.source_address) 
    File "/usr/local/lib/python3.3/socket.py", line 435, in create_connection 
    raise err 
    File "/usr/local/lib/python3.3/socket.py", line 426, in create_connection 
    sock.connect(sa) 
ConnectionRefusedError: [Errno 111] Connection refused 

答えて

0

これはあなたのセレンの言語バインディングとSeleniumサーバー間一時的な接続の問題です。あなたが別のマシン上でリモートSeleniumサーバーを使用している場合、これはより頻繁に起こる可能性があり、それがインターネット上で行く場合は特に。 BrowserStackや醤油研究所でリモートセレンサーバを使用している場合我々は、例えば、エラーのこの種のを見てきました。

Python/Seleniumバインディングには、JSON wire (JSON over HTTP)リクエスト/コマンドを自動的に再試行する方法がないため、コード内で強制的に処理する必要があります。例えば、これらはあなたが実行しているテストがある場合 - 失敗したテストをレポート - これらのエラーに対処する一般的な方法再試行失敗したテスト3回と、すべての3つの試みが失敗した場合にのみにあります。

関連する問題