python-3.x
  • selenium
  • 2015-10-07 14 views 6 likes 
    6

    के लिए कनेक्शन से इनकार कर दिया गया है, मैं परीक्षण पृष्ठ से लॉग आउट करने का प्रयास करता हूं, लेकिन driver.find_element_by_xpath ("// a [@href = '/ log/pages करते समय कनेक्शन अस्वीकार करने में त्रुटि होती है /user/logout.php '] ") क्लिक करें() मैंने लिंकटेक्स्ट, या एक्शन चेन, एक ही त्रुटि से भी कोशिश की। और यह कभी-कभी होता है, हमेशा नहीं, कोई टिप्पणी?urlopen त्रुटि [Errno 111] कनेक्शन सेलेनियम पायथन

    त्रुटि संदेश

    <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

    यह आपके सेलेनियम भाषा बाइंडिंग और एक सेलेनियम सर्वर जो अस्थायी कनेक्टिविटी समस्या है। यदि आप एक अलग मशीन पर रिमोट सेलेनियम सर्वर का उपयोग कर रहे हैं और विशेष रूप से यदि यह इंटरनेट पर जाता है तो यह अधिक बार हो सकता है। उदाहरण के लिए, हमने ब्राउज़रस्टैक या सॉस लैब्स पर रिमोट सेलेनियम सर्वर का उपयोग करते समय इस तरह की त्रुटियों को देखा है।

    चूंकि पाइथन/सेलेनियम बाइंडिंग के पास JSON wire (JSON over HTTP) अनुरोध/आदेशों को पुनः प्रयास करने का स्वचालित तरीका नहीं है, इसलिए आपको इसे अपने कोड में संभालने के लिए मजबूर होना पड़ता है। उदाहरण के लिए, यदि ये परीक्षण हैं जो आप निष्पादित कर रहे हैं - इन त्रुटियों से निपटने का एक आम तरीका पुन: प्रयास विफल परीक्षण 3 गुना और केवल तभी होगा जब सभी 3 प्रयास विफल हो जाएं - एक असफल परीक्षण की रिपोर्ट करें।

    संबंधित मुद्दे