Report generated on 28-Aug-2020 at 19:44:00 by pytest-html v2.1.1
Packages | {"pluggy": "0.13.1", "py": "1.9.0", "pytest": "6.0.1"} |
Platform | Windows-10-10.0.19041-SP0 |
Plugins | {"allure-pytest": "2.8.18", "datadir": "1.3.1", "html": "2.1.1", "metadata": "1.10.0"} |
Python | 3.8.5 |
10 tests ran in 53.13 seconds.
(Un)check the boxes to filter the results.
6 passed, 0 skipped, 4 failed, 3 errors, 0 expected failures, 0 unexpected passesResult | Test | Duration | Links |
---|---|---|---|
No results found. Try to check the filters | |||
Error | test_login_role.py::TestLoginRole::test_verify_role_superadmin_and_click_on_add_course::setup | 2.02 | |
request = <SubRequest 'authenticate' for <Function test_verify_role_superadmin_and_click_on_add_course>> @pytest.fixture def authenticate(request): marker = request.node.get_closest_marker("role") if marker is None: return None role = marker.args[0] if role != engagex_login_helper.get_logged_role() and role in ['superadmin','manager','ta','trainer']: email = pytest.config[role]['email'] password = pytest.config[role]['password'] > engagex_login_helper.login(email,password) test\conftest.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ helper\engagex_login_helper.py:10: in login pg_login.login(email,password) pages\login_page.py:29: in login self.btn_login.click_button() core\page_factory.py:193: in click_button self.click() c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webelement.py:80: in click self._execute(Command.CLICK_ELEMENT) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webelement.py:633: in _execute return self._parent.execute(command, params) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webdriver.py:321: in execute self.error_handler.check_response(response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x000002B9173BBD60> response = {'status': 404, 'value': '{"value":{"error":"stale element reference","message":"stale element reference: element is n...\n\\tRtlGetAppContainerNamedObjectPath [0x77C374A4+228]\\n\\tRtlGetAppContainerNamedObjectPath [0x77C37474+180]\\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.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document E (Session info: chrome=84.0.4147.135) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: StaleElementReferenceException | |||
Error | test_login_role.py::TestLoginRole::test_verify_role_trainer_and_check_trainer_tab_present::setup | 2.02 | |
request = <SubRequest 'authenticate' for <Function test_verify_role_trainer_and_check_trainer_tab_present>> @pytest.fixture def authenticate(request): marker = request.node.get_closest_marker("role") if marker is None: return None role = marker.args[0] if role != engagex_login_helper.get_logged_role() and role in ['superadmin','manager','ta','trainer']: email = pytest.config[role]['email'] password = pytest.config[role]['password'] > engagex_login_helper.login(email,password) test\conftest.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ helper\engagex_login_helper.py:10: in login pg_login.login(email,password) pages\login_page.py:29: in login self.btn_login.click_button() core\page_factory.py:193: in click_button self.click() c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webelement.py:80: in click self._execute(Command.CLICK_ELEMENT) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webelement.py:633: in _execute return self._parent.execute(command, params) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webdriver.py:321: in execute self.error_handler.check_response(response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x000002B9173BBD60> response = {'status': 404, 'value': '{"value":{"error":"stale element reference","message":"stale element reference: element is n...\n\\tRtlGetAppContainerNamedObjectPath [0x77C374A4+228]\\n\\tRtlGetAppContainerNamedObjectPath [0x77C37474+180]\\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.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document E (Session info: chrome=84.0.4147.135) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: StaleElementReferenceException | |||
Error | test_role_based_access.py::TestRoleBasedAccess::test_tabs_present_login_admin::setup | 2.37 | |
request = <SubRequest 'authenticate' for <Function test_tabs_present_login_admin>> @pytest.fixture def authenticate(request): marker = request.node.get_closest_marker("role") if marker is None: return None role = marker.args[0] if role != engagex_login_helper.get_logged_role() and role in ['superadmin','manager','ta','trainer']: email = pytest.config[role]['email'] password = pytest.config[role]['password'] > engagex_login_helper.login(email,password) test\conftest.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ helper\engagex_login_helper.py:10: in login pg_login.login(email,password) pages\login_page.py:29: in login self.btn_login.click_button() core\page_factory.py:193: in click_button self.click() c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webelement.py:80: in click self._execute(Command.CLICK_ELEMENT) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webelement.py:633: in _execute return self._parent.execute(command, params) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webdriver.py:321: in execute self.error_handler.check_response(response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x000002B9173BBD60> response = {'status': 404, 'value': '{"value":{"error":"stale element reference","message":"stale element reference: element is n...\n\\tRtlGetAppContainerNamedObjectPath [0x77C374A4+228]\\n\\tRtlGetAppContainerNamedObjectPath [0x77C37474+180]\\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.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document E (Session info: chrome=84.0.4147.135) c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: StaleElementReferenceException | |||
Failed | test_login_role.py::TestLoginRole::test_verify_role_ta | 0.01 | |
self = <test_login_role.TestLoginRole object at 0x000002B917514D00>, authenticate = None, initialize_pages = None, testdata = {'ta_url': '#/tas/active'} > ??? d:\engagex_test_python\test\test_login_role.py:32: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.home_page.HomePage object at 0x000002B917512DF0>, loc = 'tas' def __getattr__(self, loc): logging.debug(f"the current locator to be found {loc} on url {self.driver.current_url}") if loc in self.locators.keys(): error = "" for loc_pair in self.locators[loc]: loc_pair[0] = self.TYPE_OF_LOCATORS[loc_pair[0].lower()] loc_pair = tuple(loc_pair) try: element = WebDriverWait(self.driver, self.timeout).until( EC.presence_of_element_located(loc_pair) ) except (StaleElementReferenceException, NoSuchElementException, TimeoutException) as e: error = e logging.warning(f"the locator {loc} on url {self.driver.current_url} is not present") continue try: element = WebDriverWait(self.driver, self.timeout).until( EC.visibility_of_element_located(loc_pair) ) except (StaleElementReferenceException, NoSuchElementException, TimeoutException) as e: error = e logging.warning(f"the locator {loc} on url {self.driver.current_url} is not visible") continue element = self.get_web_element(*loc_pair) element._locator = loc_pair logging.debug(f"the locator {loc} is found!") return element raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) > super().__getattr__(loc) E AttributeError: 'super' object has no attribute '__getattr__' core\page_factory.py:73: AttributeError | |||
Failed | test_login_role.py::TestLoginRole::test_verify_role_manager | 0.00 | |
self = <test_login_role.TestLoginRole object at 0x000002B917512E20>, authenticate = None, initialize_pages = None, testdata = {'manager_url': '#/managers/active'} > ??? d:\engagex_test_python\test\test_login_role.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.home_page.HomePage object at 0x000002B9175D8550>, loc = 'managers' def __getattr__(self, loc): logging.debug(f"the current locator to be found {loc} on url {self.driver.current_url}") if loc in self.locators.keys(): error = "" for loc_pair in self.locators[loc]: loc_pair[0] = self.TYPE_OF_LOCATORS[loc_pair[0].lower()] loc_pair = tuple(loc_pair) try: element = WebDriverWait(self.driver, self.timeout).until( EC.presence_of_element_located(loc_pair) ) except (StaleElementReferenceException, NoSuchElementException, TimeoutException) as e: error = e logging.warning(f"the locator {loc} on url {self.driver.current_url} is not present") continue try: element = WebDriverWait(self.driver, self.timeout).until( EC.visibility_of_element_located(loc_pair) ) except (StaleElementReferenceException, NoSuchElementException, TimeoutException) as e: error = e logging.warning(f"the locator {loc} on url {self.driver.current_url} is not visible") continue element = self.get_web_element(*loc_pair) element._locator = loc_pair logging.debug(f"the locator {loc} is found!") return element raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) > super().__getattr__(loc) E AttributeError: 'super' object has no attribute '__getattr__' core\page_factory.py:73: AttributeError | |||
Failed | test_registration.py::TestRegistration::test_trainer_registration_functionality | 5.70 | |
self = <test_registration.TestRegistration object at 0x000002B917609F10>, initialize_pages = None testdata = {'profile_url': '#/profile/', 'query': "SELECT email,user_id,first_name,last_name,primary_country_code,primary_mobile_... engageX_test.user where email = '<<email>>' and status = '1'", 'register_url': '#/register', 'selectvalue': 'IN', ...} > ??? d:\engagex_test_python\test\test_registration.py:56: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages\registration_page.py:28: in select_list self.dr_countries.select_element_by_value(selectvalue) core\page_factory.py:143: in select_element_by_value select.select_by_value(value) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.select.Select object at 0x000002B9175D9DC0>, value = 'IN' def select_by_value(self, value): """Select all options that have a value matching the argument. That is, when given "foo" this would select an option like: <option value="foo">Bar</option> :Args: - value - The value to match against throws NoSuchElementException If there is no option with specisied value in SELECT """ css = "option[value =%s]" % self._escapeString(value) opts = self._el.find_elements(By.CSS_SELECTOR, css) matched = False for opt in opts: self._setSelected(opt) if not self.is_multiple: return matched = True if not matched: > raise NoSuchElementException("Cannot locate option with value: %s" % value) E selenium.common.exceptions.NoSuchElementException: Message: Cannot locate option with value: IN c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\support\select.py:87: NoSuchElementException -------------------------------Captured log call-------------------------------- [32mINFO [0m setup:test_registration.py:52 New Trainer Registration Started - Test8922@yopmail.com | |||
Failed | test_registration.py::TestRegistration::test_approve_registered_trainer | 0.00 | |
self = <test_registration.TestRegistration object at 0x000002B917733970>, authenticate = None, initialize_pages = None > ??? d:\engagex_test_python\test\test_registration.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.home_page.HomePage object at 0x000002B91769FFA0>, loc = 'trainers' def __getattr__(self, loc): logging.debug(f"the current locator to be found {loc} on url {self.driver.current_url}") if loc in self.locators.keys(): error = "" for loc_pair in self.locators[loc]: loc_pair[0] = self.TYPE_OF_LOCATORS[loc_pair[0].lower()] loc_pair = tuple(loc_pair) try: element = WebDriverWait(self.driver, self.timeout).until( EC.presence_of_element_located(loc_pair) ) except (StaleElementReferenceException, NoSuchElementException, TimeoutException) as e: error = e logging.warning(f"the locator {loc} on url {self.driver.current_url} is not present") continue try: element = WebDriverWait(self.driver, self.timeout).until( EC.visibility_of_element_located(loc_pair) ) except (StaleElementReferenceException, NoSuchElementException, TimeoutException) as e: error = e logging.warning(f"the locator {loc} on url {self.driver.current_url} is not visible") continue element = self.get_web_element(*loc_pair) element._locator = loc_pair logging.debug(f"the locator {loc} is found!") return element raise NoSuchElementException("An exception of type " + type(error).__name__ + " occurred. With Element -: " + loc) > super().__getattr__(loc) E AttributeError: 'super' object has no attribute '__getattr__' core\page_factory.py:73: AttributeError | |||
Passed | test_forgot_password.py::TestForgotPassword::test_forgot_password_functionality | 4.33 | |
-------------------------------Captured log setup------------------------------- [32mINFO [0m setup:conftest.py:134 reading config from path "config.json" [32mINFO [0m setup:conftest.py:109 creating driver for provided browser - chrome | |||
Passed | test_login.py::TestLogin::test_invalid_credentials | 5.95 | |
No log output captured. | |||
Passed | test_login.py::TestLogin::test_valid_credentials | 6.72 | |
No log output captured. | |||
Passed | test_role_based_access.py::TestRoleBasedAccess::test_tabs_present_login_manager | 2.82 | |
No log output captured. | |||
Passed | test_role_based_access.py::TestRoleBasedAccess::test_tabs_present_login_ta | 2.34 | |
No log output captured. | |||
Passed | test_role_based_access.py::TestRoleBasedAccess::test_tabs_present_login_trainer | 2.20 | |
No log output captured. |