Report generated on 06-Jun-2023 at 12:52:20 by pytest-html v3.2.0
| Packages | {"pluggy": "1.0.0", "pytest": "7.2.1"} |
| Platform | Linux-5.15.0-1038-azure-x86_64-with-glibc2.31 |
| Plugins | {"html": "3.2.0", "metadata": "2.0.4"} |
| Python | 3.9.16 |
4 tests ran in 138.11 seconds.
(Un)check the boxes to filter the results.
2 passed, 0 skipped, 2 failed, 0 errors, 0 expected failures, 0 unexpected passes| Result | Time | Test | Description | Duration |
|---|---|---|---|---|
| No results found. Try to check the filters | ||||
| Failed | 2023-06-06 12:52:20.502442 | test_public_mip.py::TestPublicMIP::test_data[https://hbpmip.link/] | Integration tests (data) of the public MIP. | 20.08 |
![]() self = <test_public_mip.TestPublicMIP object at 0x7f2cd96e2520> def test_data(self): """Integration tests (data) of the public MIP.""" > super().test_data() test_public_mip.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ basetest.py:63: in test_data dementia = selenium_driver.find_element( /usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:830: in find_element return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] /usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:440: in execute self.error_handler.check_response(response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f2cd96939a0> response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...wn>\\n#16 0x561c0d6bcc97 \\u003Cunknown>\\n#17 0x561c0d6cd113 \\u003Cunknown>\\n#18 0x7f73a26e4ea7 start_thread\\n"}}'} def check_response(self, response: Dict[str, Any]) -> None: """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 not status or status == ErrorCode.SUCCESS: return value = None message = response.get("message", "") screen: str = response.get("screen", "") stacktrace = None if isinstance(status, int): value_json = response.get("value", None) if value_json and isinstance(value_json, str): import json try: value = json.loads(value_json) if len(value.keys()) == 1: value = value["value"] status = value.get("error", None) if not status: status = value.get("status", ErrorCode.UNKNOWN_ERROR) message = value.get("value") or value.get("message") if not isinstance(message, str): value = message message = message.get("message") else: message = value.get("message", None) except ValueError: pass exception_class: Type[WebDriverException] 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_SHADOW_ROOT: exception_class = NoSuchShadowRootException 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 not value: value = response["value"] if isinstance(value, str): raise exception_class(value) if message == "" and "message" in value: message = value["message"] screen = None # type: ignore[assignment] if "screen" in value: screen = value["screen"] stacktrace = None st_value = value.get("stackTrace") or value.get("stacktrace") if st_value: if isinstance(st_value, str): stacktrace = st_value.split("\n") else: stacktrace = [] try: for frame in st_value: line = frame.get("lineNumber", "") file = frame.get("fileName", "<anonymous>") if line: file = f"{file}:{line}" meth = frame.get("methodName", "<anonymous>") if "className" in frame: meth = f"{frame['className']}.{meth}" msg = " at %s (%s)" msg = msg % (meth, file) stacktrace.append(msg) except TypeError: pass if 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) # type: ignore[call-arg] # mypy is not smart enough here > raise exception_class(message, screen, stacktrace) E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@id='pathology-select']/div/button"} E (Session info: headless chrome=113.0.5672.126) E Stacktrace: E #0 0x561c0d6d5133 <unknown> E #1 0x561c0d409966 <unknown> E #2 0x561c0d4460dc <unknown> E #3 0x561c0d446211 <unknown> E #4 0x561c0d4806c4 <unknown> E #5 0x561c0d465bfd <unknown> E #6 0x561c0d47e1c7 <unknown> E #7 0x561c0d4659a3 <unknown> E #8 0x561c0d43a46a <unknown> E #9 0x561c0d43b55e <unknown> E #10 0x561c0d694cae <unknown> E #11 0x561c0d6988fe <unknown> E #12 0x561c0d6a1f20 <unknown> E #13 0x561c0d699923 <unknown> E #14 0x561c0d66cc0e <unknown> E #15 0x561c0d6bcb08 <unknown> E #16 0x561c0d6bcc97 <unknown> E #17 0x561c0d6cd113 <unknown> E #18 0x7f73a26e4ea7 start_thread /usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py:245: NoSuchElementException | ||||
| Failed | 2023-06-06 12:52:20.503881 | test_qa_federation.py::TestMIPQAFederation::test_data[https://qa.hbpmip.link/] | Integration tests (data) of the MIP QA Federation. | 36.72 |
![]() self = <test_qa_federation.TestMIPQAFederation object at 0x7f2cd96937c0> def test_data(self): """Integration tests (data) of the MIP QA Federation.""" > super().test_data() test_qa_federation.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ basetest.py:238: in test_data histogram_of_rightstgsuperiortemporal_ = selenium_driver.find_element( /usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:830: in find_element return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] /usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:440: in execute self.error_handler.check_response(response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f2cd9570ca0> response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...wn>\\n#16 0x55a59bac9c97 \\u003Cunknown>\\n#17 0x55a59bada113 \\u003Cunknown>\\n#18 0x7f2f4cf8dea7 start_thread\\n"}}'} def check_response(self, response: Dict[str, Any]) -> None: """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 not status or status == ErrorCode.SUCCESS: return value = None message = response.get("message", "") screen: str = response.get("screen", "") stacktrace = None if isinstance(status, int): value_json = response.get("value", None) if value_json and isinstance(value_json, str): import json try: value = json.loads(value_json) if len(value.keys()) == 1: value = value["value"] status = value.get("error", None) if not status: status = value.get("status", ErrorCode.UNKNOWN_ERROR) message = value.get("value") or value.get("message") if not isinstance(message, str): value = message message = message.get("message") else: message = value.get("message", None) except ValueError: pass exception_class: Type[WebDriverException] 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_SHADOW_ROOT: exception_class = NoSuchShadowRootException 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 not value: value = response["value"] if isinstance(value, str): raise exception_class(value) if message == "" and "message" in value: message = value["message"] screen = None # type: ignore[assignment] if "screen" in value: screen = value["screen"] stacktrace = None st_value = value.get("stackTrace") or value.get("stacktrace") if st_value: if isinstance(st_value, str): stacktrace = st_value.split("\n") else: stacktrace = [] try: for frame in st_value: line = frame.get("lineNumber", "") file = frame.get("fileName", "<anonymous>") if line: file = f"{file}:{line}" meth = frame.get("methodName", "<anonymous>") if "className" in frame: meth = f"{frame['className']}.{meth}" msg = " at %s (%s)" msg = msg % (meth, file) stacktrace.append(msg) except TypeError: pass if 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) # type: ignore[call-arg] # mypy is not smart enough here > raise exception_class(message, screen, stacktrace) E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[contains(@id,'bar-graph-right-superior-temporal-gyrus')]"} E (Session info: headless chrome=113.0.5672.126) E Stacktrace: E #0 0x55a59bae2133 <unknown> E #1 0x55a59b816966 <unknown> E #2 0x55a59b8530dc <unknown> E #3 0x55a59b853211 <unknown> E #4 0x55a59b88d6c4 <unknown> E #5 0x55a59b872bfd <unknown> E #6 0x55a59b88b1c7 <unknown> E #7 0x55a59b8729a3 <unknown> E #8 0x55a59b84746a <unknown> E #9 0x55a59b84855e <unknown> E #10 0x55a59baa1cae <unknown> E #11 0x55a59baa58fe <unknown> E #12 0x55a59baaef20 <unknown> E #13 0x55a59baa6923 <unknown> E #14 0x55a59ba79c0e <unknown> E #15 0x55a59bac9b08 <unknown> E #16 0x55a59bac9c97 <unknown> E #17 0x55a59bada113 <unknown> E #18 0x7f2f4cf8dea7 start_thread /usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py:245: NoSuchElementException | ||||
| Passed | 2023-06-06 12:52:20.500877 | test_public_mip.py::TestPublicMIP::test_login_and_accept_terms[https://hbpmip.link/] | Test login and accept terms on the public MIP. | 52.31 |
|
-----------------------------Captured stderr setup------------------------------ [WDM] - Downloading: 0%| | 0.00/6.98M [00:00<?, ?B/s] [WDM] - Downloading: 100%|██████████| 6.98M/6.98M [00:00<00:00, 191MB/s] ------------------------------Captured stdout call------------------------------ Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@id='tos']"} (Session info: headless chrome=113.0.5672.126) Stacktrace: #0 0x561c0d6d5133 <unknown> #1 0x561c0d409966 <unknown> #2 0x561c0d4460dc <unknown> #3 0x561c0d446211 <unknown> #4 0x561c0d4806c4 <unknown> #5 0x561c0d465bfd <unknown> #6 0x561c0d47e1c7 <unknown> #7 0x561c0d4659a3 <unknown> #8 0x561c0d43a46a <unknown> #9 0x561c0d43b55e <unknown> #10 0x561c0d694cae <unknown> #11 0x561c0d6988fe <unknown> #12 0x561c0d6a1f20 <unknown> #13 0x561c0d699923 <unknown> #14 0x561c0d66cc0e <unknown> #15 0x561c0d6bcb08 <unknown> #16 0x561c0d6bcc97 <unknown> #17 0x561c0d6cd113 <unknown> #18 0x7f73a26e4ea7 start_thread Message: no such element: Unable to locate element: {"method":"xpath","selector":"//span[. = '×']"} (Session info: headless chrome=113.0.5672.126) Stacktrace: #0 0x561c0d6d5133 <unknown> #1 0x561c0d409966 <unknown> #2 0x561c0d4460dc <unknown> #3 0x561c0d446211 <unknown> #4 0x561c0d4806c4 <unknown> #5 0x561c0d465bfd <unknown> #6 0x561c0d47e1c7 <unknown> #7 0x561c0d4659a3 <unknown> #8 0x561c0d43a46a <unknown> #9 0x561c0d43b55e <unknown> #10 0x561c0d694cae <unknown> #11 0x561c0d6988fe <unknown> #12 0x561c0d6a1f20 <unknown> #13 0x561c0d699923 <unknown> #14 0x561c0d66cc0e <unknown> #15 0x561c0d6bcb08 <unknown> #16 0x561c0d6bcc97 <unknown> #17 0x561c0d6cd113 <unknown> #18 0x7f73a26e4ea7 start_thread | ||||
| Passed | 2023-06-06 12:52:20.502561 | test_qa_federation.py::TestMIPQAFederation::test_login_and_accept_terms[https://qa.hbpmip.link/] | Test login and accept terms on the MIP QA Federation. | 27.56 |
|
------------------------------Captured stdout call------------------------------ Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@id='tos']"} (Session info: headless chrome=113.0.5672.126) Stacktrace: #0 0x55a59bae2133 <unknown> #1 0x55a59b816966 <unknown> #2 0x55a59b8530dc <unknown> #3 0x55a59b853211 <unknown> #4 0x55a59b88d6c4 <unknown> #5 0x55a59b872bfd <unknown> #6 0x55a59b88b1c7 <unknown> #7 0x55a59b8729a3 <unknown> #8 0x55a59b84746a <unknown> #9 0x55a59b84855e <unknown> #10 0x55a59baa1cae <unknown> #11 0x55a59baa58fe <unknown> #12 0x55a59baaef20 <unknown> #13 0x55a59baa6923 <unknown> #14 0x55a59ba79c0e <unknown> #15 0x55a59bac9b08 <unknown> #16 0x55a59bac9c97 <unknown> #17 0x55a59bada113 <unknown> #18 0x7f2f4cf8dea7 start_thread | ||||