Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Testing started at 6:27 PM ...
- /Users/evgeny.artsiomenko/PycharmProjects/task_1_1/env1_1/bin/python "/Applications/PyCharm CE 2.app/Contents/helpers/pycharm/_jb_pytest_runner.py" --path /Users/evgeny.artsiomenko/PycharmProjects/task1_1/test/test_add_contact.py
- Launching py.test with arguments /Users/evgeny.artsiomenko/PycharmProjects/task1_1/test/test_add_contact.py in /Users/evgeny.artsiomenko/PycharmProjects/task1_1
- ============================= test session starts ==============================
- platform darwin -- Python 3.6.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
- rootdir: /Users/evgeny.artsiomenko/PycharmProjects/task1_1, inifile:collected 2 items
- test/test_add_contact.py E
- test setup failed
- request = <SubRequest 'app' for <Function 'test_add_contact[None:lastname <S4? zj8;firstnamepkL23m]'>>
- @pytest.fixture
- def app(request):
- global fixture
- global target
- browser = request.config.getoption("--browser")
- if target is None:
- with open(request.config.getoption("--target")) as config_file:
- target = json.load(config_file)
- if fixture is None or not fixture.is_valid():
- fixture = Application(browser=browser,base_url=target["baseUrl"])
- > fixture.session.ensure_login(username=target["username"], password=target["password"])
- conftest.py:17:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- fixture/session.py:47: in ensure_login
- self.login(username,password)
- fixture/session.py:11: in login
- wd.find_element_by_name("user").click()
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:487: in find_element_by_name
- return self.find_element(by=By.NAME, value=name)
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:955: in find_element
- 'value': value})['value']
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:312: in execute
- self.error_handler.check_response(response)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x10cfc8b00>
- response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"Unable to locate element: [name=\\"user\\"]",...ror@chrome://marionette/content/error.js:434:5\\nelement.find/</<@chrome://marionette/content/element.js:341:16\\n"}}'}
- def check_response(self, response):
- """
- Checks that a JSON response from the WebDriver does not have an error.
- :Args:
- - response - The JSON response from the WebDriver server as a dictionary
- object.
- :Raises: If the response contains an error message.
- """
- status = response.get('status', None)
- if status is None or status == ErrorCode.SUCCESS:
- return
- value = None
- message = response.get("message", "")
- screen = response.get("screen", "")
- stacktrace = None
- if isinstance(status, int):
- value_json = response.get('value', None)
- if value_json and isinstance(value_json, basestring):
- import json
- try:
- value = json.loads(value_json)
- if len(value.keys()) == 1:
- value = value['value']
- status = value.get('error', None)
- if status is None:
- status = value["status"]
- message = value["value"]
- if not isinstance(message, basestring):
- value = message
- message = message.get('message')
- else:
- message = value.get('message', None)
- except ValueError:
- pass
- exception_class = ErrorInResponseException
- if status in ErrorCode.NO_SUCH_ELEMENT:
- exception_class = NoSuchElementException
- elif status in ErrorCode.NO_SUCH_FRAME:
- exception_class = NoSuchFrameException
- elif status in ErrorCode.NO_SUCH_WINDOW:
- exception_class = NoSuchWindowException
- elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
- exception_class = StaleElementReferenceException
- elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
- exception_class = ElementNotVisibleException
- elif status in ErrorCode.INVALID_ELEMENT_STATE:
- exception_class = InvalidElementStateException
- elif status in ErrorCode.INVALID_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
- exception_class = InvalidSelectorException
- elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
- exception_class = ElementNotSelectableException
- elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
- exception_class = ElementNotInteractableException
- elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
- exception_class = InvalidCookieDomainException
- elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
- exception_class = UnableToSetCookieException
- elif status in ErrorCode.TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.SCRIPT_TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.UNKNOWN_ERROR:
- exception_class = WebDriverException
- elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
- exception_class = UnexpectedAlertPresentException
- elif status in ErrorCode.NO_ALERT_OPEN:
- exception_class = NoAlertPresentException
- elif status in ErrorCode.IME_NOT_AVAILABLE:
- exception_class = ImeNotAvailableException
- elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
- exception_class = ImeActivationFailedException
- elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
- exception_class = MoveTargetOutOfBoundsException
- elif status in ErrorCode.JAVASCRIPT_ERROR:
- exception_class = JavascriptException
- elif status in ErrorCode.SESSION_NOT_CREATED:
- exception_class = SessionNotCreatedException
- elif status in ErrorCode.INVALID_ARGUMENT:
- exception_class = InvalidArgumentException
- elif status in ErrorCode.NO_SUCH_COOKIE:
- exception_class = NoSuchCookieException
- elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
- exception_class = ScreenshotException
- elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
- exception_class = ElementClickInterceptedException
- elif status in ErrorCode.INSECURE_CERTIFICATE:
- exception_class = InsecureCertificateException
- elif status in ErrorCode.INVALID_COORDINATES:
- exception_class = InvalidCoordinatesException
- elif status in ErrorCode.INVALID_SESSION_ID:
- exception_class = InvalidSessionIdException
- elif status in ErrorCode.UNKNOWN_METHOD:
- exception_class = UnknownMethodException
- else:
- exception_class = WebDriverException
- if value == '' or value is None:
- value = response['value']
- if isinstance(value, basestring):
- if exception_class == ErrorInResponseException:
- raise exception_class(response, value)
- raise exception_class(value)
- if message == "" and 'message' in value:
- message = value['message']
- screen = None
- if 'screen' in value:
- screen = value['screen']
- stacktrace = None
- if 'stackTrace' in value and value['stackTrace']:
- stacktrace = []
- try:
- for frame in value['stackTrace']:
- line = self._value_or_default(frame, 'lineNumber', '')
- file = self._value_or_default(frame, 'fileName', '<anonymous>')
- if line:
- file = "%s:%s" % (file, line)
- meth = self._value_or_default(frame, 'methodName', '<anonymous>')
- if 'className' in frame:
- meth = "%s.%s" % (frame['className'], meth)
- msg = " at %s (%s)"
- msg = msg % (meth, file)
- stacktrace.append(msg)
- except TypeError:
- pass
- if exception_class == ErrorInResponseException:
- raise exception_class(response, message)
- elif exception_class == UnexpectedAlertPresentException:
- alert_text = None
- if 'data' in value:
- alert_text = value['data'].get('text')
- elif 'alert' in value:
- alert_text = value['alert'].get('text')
- raise exception_class(message, screen, stacktrace, alert_text)
- > raise exception_class(message, screen, stacktrace)
- E selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [name="user"]
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: NoSuchElementException
- E
- test setup failed
- request = <SubRequest 'app' for <Function 'test_add_contact[None:lastname%R;firstnameT23Oz@]'>>
- @pytest.fixture
- def app(request):
- global fixture
- global target
- browser = request.config.getoption("--browser")
- if target is None:
- with open(request.config.getoption("--target")) as config_file:
- target = json.load(config_file)
- if fixture is None or not fixture.is_valid():
- fixture = Application(browser=browser,base_url=target["baseUrl"])
- > fixture.session.ensure_login(username=target["username"], password=target["password"])
- conftest.py:17:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- fixture/session.py:47: in ensure_login
- self.login(username,password)
- fixture/session.py:11: in login
- wd.find_element_by_name("user").click()
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:487: in find_element_by_name
- return self.find_element(by=By.NAME, value=name)
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:955: in find_element
- 'value': value})['value']
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:312: in execute
- self.error_handler.check_response(response)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x10cfc8b00>
- response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"Unable to locate element: [name=\\"user\\"]",...ror@chrome://marionette/content/error.js:434:5\\nelement.find/</<@chrome://marionette/content/element.js:341:16\\n"}}'}
- def check_response(self, response):
- """
- Checks that a JSON response from the WebDriver does not have an error.
- :Args:
- - response - The JSON response from the WebDriver server as a dictionary
- object.
- :Raises: If the response contains an error message.
- """
- status = response.get('status', None)
- if status is None or status == ErrorCode.SUCCESS:
- return
- value = None
- message = response.get("message", "")
- screen = response.get("screen", "")
- stacktrace = None
- if isinstance(status, int):
- value_json = response.get('value', None)
- if value_json and isinstance(value_json, basestring):
- import json
- try:
- value = json.loads(value_json)
- if len(value.keys()) == 1:
- value = value['value']
- status = value.get('error', None)
- if status is None:
- status = value["status"]
- message = value["value"]
- if not isinstance(message, basestring):
- value = message
- message = message.get('message')
- else:
- message = value.get('message', None)
- except ValueError:
- pass
- exception_class = ErrorInResponseException
- if status in ErrorCode.NO_SUCH_ELEMENT:
- exception_class = NoSuchElementException
- elif status in ErrorCode.NO_SUCH_FRAME:
- exception_class = NoSuchFrameException
- elif status in ErrorCode.NO_SUCH_WINDOW:
- exception_class = NoSuchWindowException
- elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
- exception_class = StaleElementReferenceException
- elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
- exception_class = ElementNotVisibleException
- elif status in ErrorCode.INVALID_ELEMENT_STATE:
- exception_class = InvalidElementStateException
- elif status in ErrorCode.INVALID_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
- exception_class = InvalidSelectorException
- elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
- exception_class = ElementNotSelectableException
- elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
- exception_class = ElementNotInteractableException
- elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
- exception_class = InvalidCookieDomainException
- elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
- exception_class = UnableToSetCookieException
- elif status in ErrorCode.TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.SCRIPT_TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.UNKNOWN_ERROR:
- exception_class = WebDriverException
- elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
- exception_class = UnexpectedAlertPresentException
- elif status in ErrorCode.NO_ALERT_OPEN:
- exception_class = NoAlertPresentException
- elif status in ErrorCode.IME_NOT_AVAILABLE:
- exception_class = ImeNotAvailableException
- elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
- exception_class = ImeActivationFailedException
- elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
- exception_class = MoveTargetOutOfBoundsException
- elif status in ErrorCode.JAVASCRIPT_ERROR:
- exception_class = JavascriptException
- elif status in ErrorCode.SESSION_NOT_CREATED:
- exception_class = SessionNotCreatedException
- elif status in ErrorCode.INVALID_ARGUMENT:
- exception_class = InvalidArgumentException
- elif status in ErrorCode.NO_SUCH_COOKIE:
- exception_class = NoSuchCookieException
- elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
- exception_class = ScreenshotException
- elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
- exception_class = ElementClickInterceptedException
- elif status in ErrorCode.INSECURE_CERTIFICATE:
- exception_class = InsecureCertificateException
- elif status in ErrorCode.INVALID_COORDINATES:
- exception_class = InvalidCoordinatesException
- elif status in ErrorCode.INVALID_SESSION_ID:
- exception_class = InvalidSessionIdException
- elif status in ErrorCode.UNKNOWN_METHOD:
- exception_class = UnknownMethodException
- else:
- exception_class = WebDriverException
- if value == '' or value is None:
- value = response['value']
- if isinstance(value, basestring):
- if exception_class == ErrorInResponseException:
- raise exception_class(response, value)
- raise exception_class(value)
- if message == "" and 'message' in value:
- message = value['message']
- screen = None
- if 'screen' in value:
- screen = value['screen']
- stacktrace = None
- if 'stackTrace' in value and value['stackTrace']:
- stacktrace = []
- try:
- for frame in value['stackTrace']:
- line = self._value_or_default(frame, 'lineNumber', '')
- file = self._value_or_default(frame, 'fileName', '<anonymous>')
- if line:
- file = "%s:%s" % (file, line)
- meth = self._value_or_default(frame, 'methodName', '<anonymous>')
- if 'className' in frame:
- meth = "%s.%s" % (frame['className'], meth)
- msg = " at %s (%s)"
- msg = msg % (meth, file)
- stacktrace.append(msg)
- except TypeError:
- pass
- if exception_class == ErrorInResponseException:
- raise exception_class(response, message)
- elif exception_class == UnexpectedAlertPresentException:
- alert_text = None
- if 'data' in value:
- alert_text = value['data'].get('text')
- elif 'alert' in value:
- alert_text = value['alert'].get('text')
- raise exception_class(message, screen, stacktrace, alert_text)
- > raise exception_class(message, screen, stacktrace)
- E selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [name="user"]
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: NoSuchElementException
- [100%]
- ==================================== ERRORS ====================================
- __ ERROR at setup of test_add_contact[None:lastname <S4? zj8;firstnamepkL23m] __
- request = <SubRequest 'app' for <Function 'test_add_contact[None:lastname <S4? zj8;firstnamepkL23m]'>>
- @pytest.fixture
- def app(request):
- global fixture
- global target
- browser = request.config.getoption("--browser")
- if target is None:
- with open(request.config.getoption("--target")) as config_file:
- target = json.load(config_file)
- if fixture is None or not fixture.is_valid():
- fixture = Application(browser=browser,base_url=target["baseUrl"])
- > fixture.session.ensure_login(username=target["username"], password=target["password"])
- conftest.py:17:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- fixture/session.py:47: in ensure_login
- self.login(username,password)
- fixture/session.py:11: in login
- wd.find_element_by_name("user").click()
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:487: in find_element_by_name
- return self.find_element(by=By.NAME, value=name)
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:955: in find_element
- 'value': value})['value']
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:312: in execute
- self.error_handler.check_response(response)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x10cfc8b00>
- response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"Unable to locate element: [name=\\"user\\"]",...ror@chrome://marionette/content/error.js:434:5\\nelement.find/</<@chrome://marionette/content/element.js:341:16\\n"}}'}
- def check_response(self, response):
- """
- Checks that a JSON response from the WebDriver does not have an error.
- :Args:
- - response - The JSON response from the WebDriver server as a dictionary
- object.
- :Raises: If the response contains an error message.
- """
- status = response.get('status', None)
- if status is None or status == ErrorCode.SUCCESS:
- return
- value = None
- message = response.get("message", "")
- screen = response.get("screen", "")
- stacktrace = None
- if isinstance(status, int):
- value_json = response.get('value', None)
- if value_json and isinstance(value_json, basestring):
- import json
- try:
- value = json.loads(value_json)
- if len(value.keys()) == 1:
- value = value['value']
- status = value.get('error', None)
- if status is None:
- status = value["status"]
- message = value["value"]
- if not isinstance(message, basestring):
- value = message
- message = message.get('message')
- else:
- message = value.get('message', None)
- except ValueError:
- pass
- exception_class = ErrorInResponseException
- if status in ErrorCode.NO_SUCH_ELEMENT:
- exception_class = NoSuchElementException
- elif status in ErrorCode.NO_SUCH_FRAME:
- exception_class = NoSuchFrameException
- elif status in ErrorCode.NO_SUCH_WINDOW:
- exception_class = NoSuchWindowException
- elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
- exception_class = StaleElementReferenceException
- elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
- exception_class = ElementNotVisibleException
- elif status in ErrorCode.INVALID_ELEMENT_STATE:
- exception_class = InvalidElementStateException
- elif status in ErrorCode.INVALID_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
- exception_class = InvalidSelectorException
- elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
- exception_class = ElementNotSelectableException
- elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
- exception_class = ElementNotInteractableException
- elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
- exception_class = InvalidCookieDomainException
- elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
- exception_class = UnableToSetCookieException
- elif status in ErrorCode.TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.SCRIPT_TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.UNKNOWN_ERROR:
- exception_class = WebDriverException
- elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
- exception_class = UnexpectedAlertPresentException
- elif status in ErrorCode.NO_ALERT_OPEN:
- exception_class = NoAlertPresentException
- elif status in ErrorCode.IME_NOT_AVAILABLE:
- exception_class = ImeNotAvailableException
- elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
- exception_class = ImeActivationFailedException
- elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
- exception_class = MoveTargetOutOfBoundsException
- elif status in ErrorCode.JAVASCRIPT_ERROR:
- exception_class = JavascriptException
- elif status in ErrorCode.SESSION_NOT_CREATED:
- exception_class = SessionNotCreatedException
- elif status in ErrorCode.INVALID_ARGUMENT:
- exception_class = InvalidArgumentException
- elif status in ErrorCode.NO_SUCH_COOKIE:
- exception_class = NoSuchCookieException
- elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
- exception_class = ScreenshotException
- elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
- exception_class = ElementClickInterceptedException
- elif status in ErrorCode.INSECURE_CERTIFICATE:
- exception_class = InsecureCertificateException
- elif status in ErrorCode.INVALID_COORDINATES:
- exception_class = InvalidCoordinatesException
- elif status in ErrorCode.INVALID_SESSION_ID:
- exception_class = InvalidSessionIdException
- elif status in ErrorCode.UNKNOWN_METHOD:
- exception_class = UnknownMethodException
- else:
- exception_class = WebDriverException
- if value == '' or value is None:
- value = response['value']
- if isinstance(value, basestring):
- if exception_class == ErrorInResponseException:
- raise exception_class(response, value)
- raise exception_class(value)
- if message == "" and 'message' in value:
- message = value['message']
- screen = None
- if 'screen' in value:
- screen = value['screen']
- stacktrace = None
- if 'stackTrace' in value and value['stackTrace']:
- stacktrace = []
- try:
- for frame in value['stackTrace']:
- line = self._value_or_default(frame, 'lineNumber', '')
- file = self._value_or_default(frame, 'fileName', '<anonymous>')
- if line:
- file = "%s:%s" % (file, line)
- meth = self._value_or_default(frame, 'methodName', '<anonymous>')
- if 'className' in frame:
- meth = "%s.%s" % (frame['className'], meth)
- msg = " at %s (%s)"
- msg = msg % (meth, file)
- stacktrace.append(msg)
- except TypeError:
- pass
- if exception_class == ErrorInResponseException:
- raise exception_class(response, message)
- elif exception_class == UnexpectedAlertPresentException:
- alert_text = None
- if 'data' in value:
- alert_text = value['data'].get('text')
- elif 'alert' in value:
- alert_text = value['alert'].get('text')
- raise exception_class(message, screen, stacktrace, alert_text)
- > raise exception_class(message, screen, stacktrace)
- E selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [name="user"]
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: NoSuchElementException
- _____ ERROR at setup of test_add_contact[None:lastname%R;firstnameT23Oz@] ______
- request = <SubRequest 'app' for <Function 'test_add_contact[None:lastname%R;firstnameT23Oz@]'>>
- @pytest.fixture
- def app(request):
- global fixture
- global target
- browser = request.config.getoption("--browser")
- if target is None:
- with open(request.config.getoption("--target")) as config_file:
- target = json.load(config_file)
- if fixture is None or not fixture.is_valid():
- fixture = Application(browser=browser,base_url=target["baseUrl"])
- > fixture.session.ensure_login(username=target["username"], password=target["password"])
- conftest.py:17:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- fixture/session.py:47: in ensure_login
- self.login(username,password)
- fixture/session.py:11: in login
- wd.find_element_by_name("user").click()
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:487: in find_element_by_name
- return self.find_element(by=By.NAME, value=name)
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:955: in find_element
- 'value': value})['value']
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:312: in execute
- self.error_handler.check_response(response)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x10cfc8b00>
- response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"Unable to locate element: [name=\\"user\\"]",...ror@chrome://marionette/content/error.js:434:5\\nelement.find/</<@chrome://marionette/content/element.js:341:16\\n"}}'}
- def check_response(self, response):
- """
- Checks that a JSON response from the WebDriver does not have an error.
- :Args:
- - response - The JSON response from the WebDriver server as a dictionary
- object.
- :Raises: If the response contains an error message.
- """
- status = response.get('status', None)
- if status is None or status == ErrorCode.SUCCESS:
- return
- value = None
- message = response.get("message", "")
- screen = response.get("screen", "")
- stacktrace = None
- if isinstance(status, int):
- value_json = response.get('value', None)
- if value_json and isinstance(value_json, basestring):
- import json
- try:
- value = json.loads(value_json)
- if len(value.keys()) == 1:
- value = value['value']
- status = value.get('error', None)
- if status is None:
- status = value["status"]
- message = value["value"]
- if not isinstance(message, basestring):
- value = message
- message = message.get('message')
- else:
- message = value.get('message', None)
- except ValueError:
- pass
- exception_class = ErrorInResponseException
- if status in ErrorCode.NO_SUCH_ELEMENT:
- exception_class = NoSuchElementException
- elif status in ErrorCode.NO_SUCH_FRAME:
- exception_class = NoSuchFrameException
- elif status in ErrorCode.NO_SUCH_WINDOW:
- exception_class = NoSuchWindowException
- elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
- exception_class = StaleElementReferenceException
- elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
- exception_class = ElementNotVisibleException
- elif status in ErrorCode.INVALID_ELEMENT_STATE:
- exception_class = InvalidElementStateException
- elif status in ErrorCode.INVALID_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR \
- or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
- exception_class = InvalidSelectorException
- elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
- exception_class = ElementNotSelectableException
- elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
- exception_class = ElementNotInteractableException
- elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
- exception_class = InvalidCookieDomainException
- elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
- exception_class = UnableToSetCookieException
- elif status in ErrorCode.TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.SCRIPT_TIMEOUT:
- exception_class = TimeoutException
- elif status in ErrorCode.UNKNOWN_ERROR:
- exception_class = WebDriverException
- elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
- exception_class = UnexpectedAlertPresentException
- elif status in ErrorCode.NO_ALERT_OPEN:
- exception_class = NoAlertPresentException
- elif status in ErrorCode.IME_NOT_AVAILABLE:
- exception_class = ImeNotAvailableException
- elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
- exception_class = ImeActivationFailedException
- elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
- exception_class = MoveTargetOutOfBoundsException
- elif status in ErrorCode.JAVASCRIPT_ERROR:
- exception_class = JavascriptException
- elif status in ErrorCode.SESSION_NOT_CREATED:
- exception_class = SessionNotCreatedException
- elif status in ErrorCode.INVALID_ARGUMENT:
- exception_class = InvalidArgumentException
- elif status in ErrorCode.NO_SUCH_COOKIE:
- exception_class = NoSuchCookieException
- elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
- exception_class = ScreenshotException
- elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
- exception_class = ElementClickInterceptedException
- elif status in ErrorCode.INSECURE_CERTIFICATE:
- exception_class = InsecureCertificateException
- elif status in ErrorCode.INVALID_COORDINATES:
- exception_class = InvalidCoordinatesException
- elif status in ErrorCode.INVALID_SESSION_ID:
- exception_class = InvalidSessionIdException
- elif status in ErrorCode.UNKNOWN_METHOD:
- exception_class = UnknownMethodException
- else:
- exception_class = WebDriverException
- if value == '' or value is None:
- value = response['value']
- if isinstance(value, basestring):
- if exception_class == ErrorInResponseException:
- raise exception_class(response, value)
- raise exception_class(value)
- if message == "" and 'message' in value:
- message = value['message']
- screen = None
- if 'screen' in value:
- screen = value['screen']
- stacktrace = None
- if 'stackTrace' in value and value['stackTrace']:
- stacktrace = []
- try:
- for frame in value['stackTrace']:
- line = self._value_or_default(frame, 'lineNumber', '')
- file = self._value_or_default(frame, 'fileName', '<anonymous>')
- if line:
- file = "%s:%s" % (file, line)
- meth = self._value_or_default(frame, 'methodName', '<anonymous>')
- if 'className' in frame:
- meth = "%s.%s" % (frame['className'], meth)
- msg = " at %s (%s)"
- msg = msg % (meth, file)
- stacktrace.append(msg)
- except TypeError:
- pass
- if exception_class == ErrorInResponseException:
- raise exception_class(response, message)
- elif exception_class == UnexpectedAlertPresentException:
- alert_text = None
- if 'data' in value:
- alert_text = value['data'].get('text')
- elif 'alert' in value:
- alert_text = value['alert'].get('text')
- raise exception_class(message, screen, stacktrace, alert_text)
- > raise exception_class(message, screen, stacktrace)
- E selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [name="user"]
- ../task_1_1/env1_1/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: NoSuchElementException
- =========================== 2 error in 5.17 seconds ============================
- Process finished with exit code 0
Add Comment
Please, Sign In to add comment