Build: #16 failed
Job: QoS basic failed
Build log
The build generated 2,065 lines of output. The output is too long and has been truncated to the last 1,000 lines. Download or view full build log.
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="dfdf1b7a13e3a1637ee36e9bb8938491", element="4523778DE4D63BDC3BA2925D463890E7_element_592")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | except NoSuchElementException as exc: |
03-Dec-2024 08:51:26 | with suppress(TypeError): |
03-Dec-2024 08:51:26 | err_msg = err_msg() |
03-Dec-2024 08:51:26 | > raise RuntimeError(err_msg) from exc |
03-Dec-2024 08:51:26 | E RuntimeError: no item found in Requirement in QoS tab |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:152: RuntimeError |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------- pytest-selenium -------------------------------- |
03-Dec-2024 08:51:26 | URL: https://dev-onezone.default.svc.cluster.local/ozw/onezone/i#/onedata/spaces/bda5c80a4d0b162806d00884ab5eedaeched4d/data |
03-Dec-2024 08:51:26 | _ test_file_is_replicated_after_eviction_from_one_storage_with_qos_requirement_with_2_replicas_to_another[1oz_2op_deployed] _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="b5c5e4d113d3ddba8f8966dd21fc804c", element="3660BDD451CF71D7C7B00107EAE83B54_element_595")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:148: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
03-Dec-2024 08:51:26 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
03-Dec-2024 08:51:26 | return self._parent.execute(command, params) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
03-Dec-2024 08:51:26 | self.error_handler.check_response(response) |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fedba88c050> |
03-Dec-2024 08:51:26 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x56013daa5ee3 \\u003Cunknown>\\n#20 0x7ff749c9fa94 \\u003Cunknown>\\n#21 0x7ff749d2ca34 __clone\\n"}}'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def check_response(self, response: Dict[str, Any]) -> None: |
03-Dec-2024 08:51:26 | """Checks that a JSON response from the WebDriver does not have an |
03-Dec-2024 08:51:26 | error. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Args: |
03-Dec-2024 08:51:26 | - response - The JSON response from the WebDriver server as a dictionary |
03-Dec-2024 08:51:26 | object. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Raises: If the response contains an error message. |
03-Dec-2024 08:51:26 | """ |
03-Dec-2024 08:51:26 | status = response.get("status", None) |
03-Dec-2024 08:51:26 | if not status or status == ErrorCode.SUCCESS: |
03-Dec-2024 08:51:26 | return |
03-Dec-2024 08:51:26 | value = None |
03-Dec-2024 08:51:26 | message = response.get("message", "") |
03-Dec-2024 08:51:26 | screen: str = response.get("screen", "") |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | if isinstance(status, int): |
03-Dec-2024 08:51:26 | value_json = response.get("value", None) |
03-Dec-2024 08:51:26 | if value_json and isinstance(value_json, str): |
03-Dec-2024 08:51:26 | import json |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | value = json.loads(value_json) |
03-Dec-2024 08:51:26 | if len(value) == 1: |
03-Dec-2024 08:51:26 | value = value["value"] |
03-Dec-2024 08:51:26 | status = value.get("error", None) |
03-Dec-2024 08:51:26 | if not status: |
03-Dec-2024 08:51:26 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
03-Dec-2024 08:51:26 | message = value.get("value") or value.get("message") |
03-Dec-2024 08:51:26 | if not isinstance(message, str): |
03-Dec-2024 08:51:26 | value = message |
03-Dec-2024 08:51:26 | message = message.get("message") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | message = value.get("message", None) |
03-Dec-2024 08:51:26 | except ValueError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | exception_class: Type[WebDriverException] |
03-Dec-2024 08:51:26 | e = ErrorCode() |
03-Dec-2024 08:51:26 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
03-Dec-2024 08:51:26 | for error_code in error_codes: |
03-Dec-2024 08:51:26 | error_info = getattr(ErrorCode, error_code) |
03-Dec-2024 08:51:26 | if isinstance(error_info, list) and status in error_info: |
03-Dec-2024 08:51:26 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
03-Dec-2024 08:51:26 | break |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | exception_class = WebDriverException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | if not value: |
03-Dec-2024 08:51:26 | value = response["value"] |
03-Dec-2024 08:51:26 | if isinstance(value, str): |
03-Dec-2024 08:51:26 | raise exception_class(value) |
03-Dec-2024 08:51:26 | if message == "" and "message" in value: |
03-Dec-2024 08:51:26 | message = value["message"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | screen = None # type: ignore[assignment] |
03-Dec-2024 08:51:26 | if "screen" in value: |
03-Dec-2024 08:51:26 | screen = value["screen"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | st_value = value.get("stackTrace") or value.get("stacktrace") |
03-Dec-2024 08:51:26 | if st_value: |
03-Dec-2024 08:51:26 | if isinstance(st_value, str): |
03-Dec-2024 08:51:26 | stacktrace = st_value.split("\n") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | stacktrace = [] |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | for frame in st_value: |
03-Dec-2024 08:51:26 | line = frame.get("lineNumber", "") |
03-Dec-2024 08:51:26 | file = frame.get("fileName", "<anonymous>") |
03-Dec-2024 08:51:26 | if line: |
03-Dec-2024 08:51:26 | file = f"{file}:{line}" |
03-Dec-2024 08:51:26 | meth = frame.get("methodName", "<anonymous>") |
03-Dec-2024 08:51:26 | if "className" in frame: |
03-Dec-2024 08:51:26 | meth = f"{frame['className']}.{meth}" |
03-Dec-2024 08:51:26 | msg = " at %s (%s)" |
03-Dec-2024 08:51:26 | msg = msg % (meth, file) |
03-Dec-2024 08:51:26 | stacktrace.append(msg) |
03-Dec-2024 08:51:26 | except TypeError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | if exception_class == UnexpectedAlertPresentException: |
03-Dec-2024 08:51:26 | alert_text = None |
03-Dec-2024 08:51:26 | if "data" in value: |
03-Dec-2024 08:51:26 | alert_text = value["data"].get("text") |
03-Dec-2024 08:51:26 | elif "alert" in value: |
03-Dec-2024 08:51:26 | alert_text = value["alert"].get("text") |
03-Dec-2024 08:51:26 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
03-Dec-2024 08:51:26 | > raise exception_class(message, screen, stacktrace) |
03-Dec-2024 08:51:26 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
03-Dec-2024 08:51:26 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
03-Dec-2024 08:51:26 | E Stacktrace: |
03-Dec-2024 08:51:26 | E #0 0x56013daad2b3 <unknown> |
03-Dec-2024 08:51:26 | E #1 0x56013d7dd2d7 <unknown> |
03-Dec-2024 08:51:26 | E #2 0x56013d81b87b <unknown> |
03-Dec-2024 08:51:26 | E #3 0x56013d81b971 <unknown> |
03-Dec-2024 08:51:26 | E #4 0x56013d811816 <unknown> |
03-Dec-2024 08:51:26 | E #5 0x56013d83adcd <unknown> |
03-Dec-2024 08:51:26 | E #6 0x56013d8116e6 <unknown> |
03-Dec-2024 08:51:26 | E #7 0x56013d83af6e <unknown> |
03-Dec-2024 08:51:26 | E #8 0x56013d852fe9 <unknown> |
03-Dec-2024 08:51:26 | E #9 0x56013d83ab73 <unknown> |
03-Dec-2024 08:51:26 | E #10 0x56013d8101ab <unknown> |
03-Dec-2024 08:51:26 | E #11 0x56013d810f4e <unknown> |
03-Dec-2024 08:51:26 | E #12 0x56013da6e668 <unknown> |
03-Dec-2024 08:51:26 | E #13 0x56013da72627 <unknown> |
03-Dec-2024 08:51:26 | E #14 0x56013da7cb8c <unknown> |
03-Dec-2024 08:51:26 | E #15 0x56013da73253 <unknown> |
03-Dec-2024 08:51:26 | E #16 0x56013da41927 <unknown> |
03-Dec-2024 08:51:26 | E #17 0x56013da97018 <unknown> |
03-Dec-2024 08:51:26 | E #18 0x56013da971a6 <unknown> |
03-Dec-2024 08:51:26 | E #19 0x56013daa5ee3 <unknown> |
03-Dec-2024 08:51:26 | E #20 0x7ff749c9fa94 <unknown> |
03-Dec-2024 08:51:26 | E #21 0x7ff749d2ca34 __clone |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | The above exception was the direct cause of the following exception: |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7fedbc2e3380> |
03-Dec-2024 08:51:26 | request = <FixtureRequest for <Function test_file_is_replicated_after_eviction_from_one_storage_with_qos_requirement_with_2_replicas_to_another[1oz_2op_deployed]>> |
03-Dec-2024 08:51:26 | kwargs = {'browser_id': 'browser', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser': <tests.con...r_eviction_from_one_storage_with_qos_requirement_with_2_replicas_to_another[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def call_fixture_func( |
03-Dec-2024 08:51:26 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
03-Dec-2024 08:51:26 | ) -> FixtureValue: |
03-Dec-2024 08:51:26 | if is_generator(fixturefunc): |
03-Dec-2024 08:51:26 | fixturefunc = cast( |
03-Dec-2024 08:51:26 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
03-Dec-2024 08:51:26 | ) |
03-Dec-2024 08:51:26 | generator = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | fixture_result = next(generator) |
03-Dec-2024 08:51:26 | except StopIteration: |
03-Dec-2024 08:51:26 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
03-Dec-2024 08:51:26 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
03-Dec-2024 08:51:26 | request.addfinalizer(finalizer) |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
03-Dec-2024 08:51:26 | > fixture_result = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | tests/utils/bdd_utils.py:78: in wrapper |
03-Dec-2024 08:51:26 | return fun(*ba.args, **ba.kwargs) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
03-Dec-2024 08:51:26 | return caller(func, *(extras + args), **kw) |
03-Dec-2024 08:51:26 | tests/utils/utils.py:93: in wrapper |
03-Dec-2024 08:51:26 | return fun(*args, **kwargs) |
03-Dec-2024 08:51:26 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
03-Dec-2024 08:51:26 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:80: in __get__ |
03-Dec-2024 08:51:26 | item = super().__get__(instance, owner) |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:26: in __get__ |
03-Dec-2024 08:51:26 | return find_web_elem( |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="b5c5e4d113d3ddba8f8966dd21fc804c", element="3660BDD451CF71D7C7B00107EAE83B54_element_595")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | except NoSuchElementException as exc: |
03-Dec-2024 08:51:26 | with suppress(TypeError): |
03-Dec-2024 08:51:26 | err_msg = err_msg() |
03-Dec-2024 08:51:26 | > raise RuntimeError(err_msg) from exc |
03-Dec-2024 08:51:26 | E RuntimeError: no item found in Requirement in QoS tab |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:152: RuntimeError |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------- pytest-selenium -------------------------------- |
03-Dec-2024 08:51:26 | URL: https://dev-onezone.default.svc.cluster.local/ozw/onezone/i#/onedata/spaces/74883d781bad497f479319b18a0637e1che9f4/data |
03-Dec-2024 08:51:26 | _ test_user_successfully_makes_file_inherit_qos_requirement_from_directory[1oz_2op_deployed] _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="cc9fa69c90ba4d852286cd0d16c4c9c2", element="90F16B27E8A5CABDE80C068D283CA943_element_671")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:148: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
03-Dec-2024 08:51:26 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
03-Dec-2024 08:51:26 | return self._parent.execute(command, params) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
03-Dec-2024 08:51:26 | self.error_handler.check_response(response) |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fedb9543320> |
03-Dec-2024 08:51:26 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x55d8b340bee3 \\u003Cunknown>\\n#20 0x7fb68adeea94 \\u003Cunknown>\\n#21 0x7fb68ae7ba34 __clone\\n"}}'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def check_response(self, response: Dict[str, Any]) -> None: |
03-Dec-2024 08:51:26 | """Checks that a JSON response from the WebDriver does not have an |
03-Dec-2024 08:51:26 | error. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Args: |
03-Dec-2024 08:51:26 | - response - The JSON response from the WebDriver server as a dictionary |
03-Dec-2024 08:51:26 | object. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Raises: If the response contains an error message. |
03-Dec-2024 08:51:26 | """ |
03-Dec-2024 08:51:26 | status = response.get("status", None) |
03-Dec-2024 08:51:26 | if not status or status == ErrorCode.SUCCESS: |
03-Dec-2024 08:51:26 | return |
03-Dec-2024 08:51:26 | value = None |
03-Dec-2024 08:51:26 | message = response.get("message", "") |
03-Dec-2024 08:51:26 | screen: str = response.get("screen", "") |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | if isinstance(status, int): |
03-Dec-2024 08:51:26 | value_json = response.get("value", None) |
03-Dec-2024 08:51:26 | if value_json and isinstance(value_json, str): |
03-Dec-2024 08:51:26 | import json |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | value = json.loads(value_json) |
03-Dec-2024 08:51:26 | if len(value) == 1: |
03-Dec-2024 08:51:26 | value = value["value"] |
03-Dec-2024 08:51:26 | status = value.get("error", None) |
03-Dec-2024 08:51:26 | if not status: |
03-Dec-2024 08:51:26 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
03-Dec-2024 08:51:26 | message = value.get("value") or value.get("message") |
03-Dec-2024 08:51:26 | if not isinstance(message, str): |
03-Dec-2024 08:51:26 | value = message |
03-Dec-2024 08:51:26 | message = message.get("message") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | message = value.get("message", None) |
03-Dec-2024 08:51:26 | except ValueError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | exception_class: Type[WebDriverException] |
03-Dec-2024 08:51:26 | e = ErrorCode() |
03-Dec-2024 08:51:26 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
03-Dec-2024 08:51:26 | for error_code in error_codes: |
03-Dec-2024 08:51:26 | error_info = getattr(ErrorCode, error_code) |
03-Dec-2024 08:51:26 | if isinstance(error_info, list) and status in error_info: |
03-Dec-2024 08:51:26 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
03-Dec-2024 08:51:26 | break |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | exception_class = WebDriverException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | if not value: |
03-Dec-2024 08:51:26 | value = response["value"] |
03-Dec-2024 08:51:26 | if isinstance(value, str): |
03-Dec-2024 08:51:26 | raise exception_class(value) |
03-Dec-2024 08:51:26 | if message == "" and "message" in value: |
03-Dec-2024 08:51:26 | message = value["message"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | screen = None # type: ignore[assignment] |
03-Dec-2024 08:51:26 | if "screen" in value: |
03-Dec-2024 08:51:26 | screen = value["screen"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | st_value = value.get("stackTrace") or value.get("stacktrace") |
03-Dec-2024 08:51:26 | if st_value: |
03-Dec-2024 08:51:26 | if isinstance(st_value, str): |
03-Dec-2024 08:51:26 | stacktrace = st_value.split("\n") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | stacktrace = [] |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | for frame in st_value: |
03-Dec-2024 08:51:26 | line = frame.get("lineNumber", "") |
03-Dec-2024 08:51:26 | file = frame.get("fileName", "<anonymous>") |
03-Dec-2024 08:51:26 | if line: |
03-Dec-2024 08:51:26 | file = f"{file}:{line}" |
03-Dec-2024 08:51:26 | meth = frame.get("methodName", "<anonymous>") |
03-Dec-2024 08:51:26 | if "className" in frame: |
03-Dec-2024 08:51:26 | meth = f"{frame['className']}.{meth}" |
03-Dec-2024 08:51:26 | msg = " at %s (%s)" |
03-Dec-2024 08:51:26 | msg = msg % (meth, file) |
03-Dec-2024 08:51:26 | stacktrace.append(msg) |
03-Dec-2024 08:51:26 | except TypeError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | if exception_class == UnexpectedAlertPresentException: |
03-Dec-2024 08:51:26 | alert_text = None |
03-Dec-2024 08:51:26 | if "data" in value: |
03-Dec-2024 08:51:26 | alert_text = value["data"].get("text") |
03-Dec-2024 08:51:26 | elif "alert" in value: |
03-Dec-2024 08:51:26 | alert_text = value["alert"].get("text") |
03-Dec-2024 08:51:26 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
03-Dec-2024 08:51:26 | > raise exception_class(message, screen, stacktrace) |
03-Dec-2024 08:51:26 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
03-Dec-2024 08:51:26 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
03-Dec-2024 08:51:26 | E Stacktrace: |
03-Dec-2024 08:51:26 | E #0 0x55d8b34132b3 <unknown> |
03-Dec-2024 08:51:26 | E #1 0x55d8b31432d7 <unknown> |
03-Dec-2024 08:51:26 | E #2 0x55d8b318187b <unknown> |
03-Dec-2024 08:51:26 | E #3 0x55d8b3181971 <unknown> |
03-Dec-2024 08:51:26 | E #4 0x55d8b3177816 <unknown> |
03-Dec-2024 08:51:26 | E #5 0x55d8b31a0dcd <unknown> |
03-Dec-2024 08:51:26 | E #6 0x55d8b31776e6 <unknown> |
03-Dec-2024 08:51:26 | E #7 0x55d8b31a0f6e <unknown> |
03-Dec-2024 08:51:26 | E #8 0x55d8b31b8fe9 <unknown> |
03-Dec-2024 08:51:26 | E #9 0x55d8b31a0b73 <unknown> |
03-Dec-2024 08:51:26 | E #10 0x55d8b31761ab <unknown> |
03-Dec-2024 08:51:26 | E #11 0x55d8b3176f4e <unknown> |
03-Dec-2024 08:51:26 | E #12 0x55d8b33d4668 <unknown> |
03-Dec-2024 08:51:26 | E #13 0x55d8b33d8627 <unknown> |
03-Dec-2024 08:51:26 | E #14 0x55d8b33e2b8c <unknown> |
03-Dec-2024 08:51:26 | E #15 0x55d8b33d9253 <unknown> |
03-Dec-2024 08:51:26 | E #16 0x55d8b33a7927 <unknown> |
03-Dec-2024 08:51:26 | E #17 0x55d8b33fd018 <unknown> |
03-Dec-2024 08:51:26 | E #18 0x55d8b33fd1a6 <unknown> |
03-Dec-2024 08:51:26 | E #19 0x55d8b340bee3 <unknown> |
03-Dec-2024 08:51:26 | E #20 0x7fb68adeea94 <unknown> |
03-Dec-2024 08:51:26 | E #21 0x7fb68ae7ba34 __clone |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | The above exception was the direct cause of the following exception: |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7fedbc2e3380> |
03-Dec-2024 08:51:26 | request = <FixtureRequest for <Function test_user_successfully_makes_file_inherit_qos_requirement_from_directory[1oz_2op_deployed]>> |
03-Dec-2024 08:51:26 | kwargs = {'browser_id': 'browser', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser': <tests.con...on test_user_successfully_makes_file_inherit_qos_requirement_from_directory[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def call_fixture_func( |
03-Dec-2024 08:51:26 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
03-Dec-2024 08:51:26 | ) -> FixtureValue: |
03-Dec-2024 08:51:26 | if is_generator(fixturefunc): |
03-Dec-2024 08:51:26 | fixturefunc = cast( |
03-Dec-2024 08:51:26 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
03-Dec-2024 08:51:26 | ) |
03-Dec-2024 08:51:26 | generator = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | fixture_result = next(generator) |
03-Dec-2024 08:51:26 | except StopIteration: |
03-Dec-2024 08:51:26 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
03-Dec-2024 08:51:26 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
03-Dec-2024 08:51:26 | request.addfinalizer(finalizer) |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
03-Dec-2024 08:51:26 | > fixture_result = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | tests/utils/bdd_utils.py:78: in wrapper |
03-Dec-2024 08:51:26 | return fun(*ba.args, **ba.kwargs) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
03-Dec-2024 08:51:26 | return caller(func, *(extras + args), **kw) |
03-Dec-2024 08:51:26 | tests/utils/utils.py:93: in wrapper |
03-Dec-2024 08:51:26 | return fun(*args, **kwargs) |
03-Dec-2024 08:51:26 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
03-Dec-2024 08:51:26 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:80: in __get__ |
03-Dec-2024 08:51:26 | item = super().__get__(instance, owner) |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:26: in __get__ |
03-Dec-2024 08:51:26 | return find_web_elem( |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="cc9fa69c90ba4d852286cd0d16c4c9c2", element="90F16B27E8A5CABDE80C068D283CA943_element_671")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | except NoSuchElementException as exc: |
03-Dec-2024 08:51:26 | with suppress(TypeError): |
03-Dec-2024 08:51:26 | err_msg = err_msg() |
03-Dec-2024 08:51:26 | > raise RuntimeError(err_msg) from exc |
03-Dec-2024 08:51:26 | E RuntimeError: no item found in Requirement in QoS tab |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:152: RuntimeError |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------- pytest-selenium -------------------------------- |
03-Dec-2024 08:51:26 | URL: https://dev-onezone.default.svc.cluster.local/ozw/onezone/i#/onedata/spaces/7be63ac242aefb2ffea9a58d9da24eb4chca8f/data?options=dir.Z3VpZCNmY2VhZTA4OWJlNGJmNWJlZjdkNzQwZjZlMTJiNmIyZmNoMDQ2OSM3YmU2M2FjMjQyYWVmYjJmZmVhOWE1OGQ5ZGEyNGViNGNoY2E4Zg |
03-Dec-2024 08:51:26 | _ test_nested_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement_in_parent_dir[1oz_2op_deployed] _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="569ceb7962dd0e08a8b78228e549ec85", element="976930214FA49F4836D393569AA5F6F2_element_652")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:148: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
03-Dec-2024 08:51:26 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
03-Dec-2024 08:51:26 | return self._parent.execute(command, params) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
03-Dec-2024 08:51:26 | self.error_handler.check_response(response) |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fedbb75f5f0> |
03-Dec-2024 08:51:26 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x55ac80cacee3 \\u003Cunknown>\\n#20 0x7ff108840a94 \\u003Cunknown>\\n#21 0x7ff1088cda34 __clone\\n"}}'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def check_response(self, response: Dict[str, Any]) -> None: |
03-Dec-2024 08:51:26 | """Checks that a JSON response from the WebDriver does not have an |
03-Dec-2024 08:51:26 | error. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Args: |
03-Dec-2024 08:51:26 | - response - The JSON response from the WebDriver server as a dictionary |
03-Dec-2024 08:51:26 | object. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Raises: If the response contains an error message. |
03-Dec-2024 08:51:26 | """ |
03-Dec-2024 08:51:26 | status = response.get("status", None) |
03-Dec-2024 08:51:26 | if not status or status == ErrorCode.SUCCESS: |
03-Dec-2024 08:51:26 | return |
03-Dec-2024 08:51:26 | value = None |
03-Dec-2024 08:51:26 | message = response.get("message", "") |
03-Dec-2024 08:51:26 | screen: str = response.get("screen", "") |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | if isinstance(status, int): |
03-Dec-2024 08:51:26 | value_json = response.get("value", None) |
03-Dec-2024 08:51:26 | if value_json and isinstance(value_json, str): |
03-Dec-2024 08:51:26 | import json |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | value = json.loads(value_json) |
03-Dec-2024 08:51:26 | if len(value) == 1: |
03-Dec-2024 08:51:26 | value = value["value"] |
03-Dec-2024 08:51:26 | status = value.get("error", None) |
03-Dec-2024 08:51:26 | if not status: |
03-Dec-2024 08:51:26 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
03-Dec-2024 08:51:26 | message = value.get("value") or value.get("message") |
03-Dec-2024 08:51:26 | if not isinstance(message, str): |
03-Dec-2024 08:51:26 | value = message |
03-Dec-2024 08:51:26 | message = message.get("message") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | message = value.get("message", None) |
03-Dec-2024 08:51:26 | except ValueError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | exception_class: Type[WebDriverException] |
03-Dec-2024 08:51:26 | e = ErrorCode() |
03-Dec-2024 08:51:26 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
03-Dec-2024 08:51:26 | for error_code in error_codes: |
03-Dec-2024 08:51:26 | error_info = getattr(ErrorCode, error_code) |
03-Dec-2024 08:51:26 | if isinstance(error_info, list) and status in error_info: |
03-Dec-2024 08:51:26 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
03-Dec-2024 08:51:26 | break |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | exception_class = WebDriverException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | if not value: |
03-Dec-2024 08:51:26 | value = response["value"] |
03-Dec-2024 08:51:26 | if isinstance(value, str): |
03-Dec-2024 08:51:26 | raise exception_class(value) |
03-Dec-2024 08:51:26 | if message == "" and "message" in value: |
03-Dec-2024 08:51:26 | message = value["message"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | screen = None # type: ignore[assignment] |
03-Dec-2024 08:51:26 | if "screen" in value: |
03-Dec-2024 08:51:26 | screen = value["screen"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | st_value = value.get("stackTrace") or value.get("stacktrace") |
03-Dec-2024 08:51:26 | if st_value: |
03-Dec-2024 08:51:26 | if isinstance(st_value, str): |
03-Dec-2024 08:51:26 | stacktrace = st_value.split("\n") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | stacktrace = [] |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | for frame in st_value: |
03-Dec-2024 08:51:26 | line = frame.get("lineNumber", "") |
03-Dec-2024 08:51:26 | file = frame.get("fileName", "<anonymous>") |
03-Dec-2024 08:51:26 | if line: |
03-Dec-2024 08:51:26 | file = f"{file}:{line}" |
03-Dec-2024 08:51:26 | meth = frame.get("methodName", "<anonymous>") |
03-Dec-2024 08:51:26 | if "className" in frame: |
03-Dec-2024 08:51:26 | meth = f"{frame['className']}.{meth}" |
03-Dec-2024 08:51:26 | msg = " at %s (%s)" |
03-Dec-2024 08:51:26 | msg = msg % (meth, file) |
03-Dec-2024 08:51:26 | stacktrace.append(msg) |
03-Dec-2024 08:51:26 | except TypeError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | if exception_class == UnexpectedAlertPresentException: |
03-Dec-2024 08:51:26 | alert_text = None |
03-Dec-2024 08:51:26 | if "data" in value: |
03-Dec-2024 08:51:26 | alert_text = value["data"].get("text") |
03-Dec-2024 08:51:26 | elif "alert" in value: |
03-Dec-2024 08:51:26 | alert_text = value["alert"].get("text") |
03-Dec-2024 08:51:26 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
03-Dec-2024 08:51:26 | > raise exception_class(message, screen, stacktrace) |
03-Dec-2024 08:51:26 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
03-Dec-2024 08:51:26 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
03-Dec-2024 08:51:26 | E Stacktrace: |
03-Dec-2024 08:51:26 | E #0 0x55ac80cb42b3 <unknown> |
03-Dec-2024 08:51:26 | E #1 0x55ac809e42d7 <unknown> |
03-Dec-2024 08:51:26 | E #2 0x55ac80a2287b <unknown> |
03-Dec-2024 08:51:26 | E #3 0x55ac80a22971 <unknown> |
03-Dec-2024 08:51:26 | E #4 0x55ac80a18816 <unknown> |
03-Dec-2024 08:51:26 | E #5 0x55ac80a41dcd <unknown> |
03-Dec-2024 08:51:26 | E #6 0x55ac80a186e6 <unknown> |
03-Dec-2024 08:51:26 | E #7 0x55ac80a41f6e <unknown> |
03-Dec-2024 08:51:26 | E #8 0x55ac80a59fe9 <unknown> |
03-Dec-2024 08:51:26 | E #9 0x55ac80a41b73 <unknown> |
03-Dec-2024 08:51:26 | E #10 0x55ac80a171ab <unknown> |
03-Dec-2024 08:51:26 | E #11 0x55ac80a17f4e <unknown> |
03-Dec-2024 08:51:26 | E #12 0x55ac80c75668 <unknown> |
03-Dec-2024 08:51:26 | E #13 0x55ac80c79627 <unknown> |
03-Dec-2024 08:51:26 | E #14 0x55ac80c83b8c <unknown> |
03-Dec-2024 08:51:26 | E #15 0x55ac80c7a253 <unknown> |
03-Dec-2024 08:51:26 | E #16 0x55ac80c48927 <unknown> |
03-Dec-2024 08:51:26 | E #17 0x55ac80c9e018 <unknown> |
03-Dec-2024 08:51:26 | E #18 0x55ac80c9e1a6 <unknown> |
03-Dec-2024 08:51:26 | E #19 0x55ac80cacee3 <unknown> |
03-Dec-2024 08:51:26 | E #20 0x7ff108840a94 <unknown> |
03-Dec-2024 08:51:26 | E #21 0x7ff1088cda34 __clone |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | The above exception was the direct cause of the following exception: |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7fedbc2e3380> |
03-Dec-2024 08:51:26 | request = <FixtureRequest for <Function test_nested_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement_in_parent_dir[1oz_2op_deployed]>> |
03-Dec-2024 08:51:26 | kwargs = {'browser_id': 'browser_unified', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser_emer...om_one_storage_to_storage_which_id_was_set_as_qos_requirement_in_parent_dir[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def call_fixture_func( |
03-Dec-2024 08:51:26 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
03-Dec-2024 08:51:26 | ) -> FixtureValue: |
03-Dec-2024 08:51:26 | if is_generator(fixturefunc): |
03-Dec-2024 08:51:26 | fixturefunc = cast( |
03-Dec-2024 08:51:26 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
03-Dec-2024 08:51:26 | ) |
03-Dec-2024 08:51:26 | generator = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | fixture_result = next(generator) |
03-Dec-2024 08:51:26 | except StopIteration: |
03-Dec-2024 08:51:26 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
03-Dec-2024 08:51:26 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
03-Dec-2024 08:51:26 | request.addfinalizer(finalizer) |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
03-Dec-2024 08:51:26 | > fixture_result = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | tests/utils/bdd_utils.py:78: in wrapper |
03-Dec-2024 08:51:26 | return fun(*ba.args, **ba.kwargs) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
03-Dec-2024 08:51:26 | return caller(func, *(extras + args), **kw) |
03-Dec-2024 08:51:26 | tests/utils/utils.py:93: in wrapper |
03-Dec-2024 08:51:26 | return fun(*args, **kwargs) |
03-Dec-2024 08:51:26 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
03-Dec-2024 08:51:26 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:80: in __get__ |
03-Dec-2024 08:51:26 | item = super().__get__(instance, owner) |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:26: in __get__ |
03-Dec-2024 08:51:26 | return find_web_elem( |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="569ceb7962dd0e08a8b78228e549ec85", element="976930214FA49F4836D393569AA5F6F2_element_652")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | except NoSuchElementException as exc: |
03-Dec-2024 08:51:26 | with suppress(TypeError): |
03-Dec-2024 08:51:26 | err_msg = err_msg() |
03-Dec-2024 08:51:26 | > raise RuntimeError(err_msg) from exc |
03-Dec-2024 08:51:26 | E RuntimeError: no item found in Requirement in QoS tab |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:152: RuntimeError |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------- pytest-selenium -------------------------------- |
03-Dec-2024 08:51:26 | URL: https://dev-oneprovider-paris.default.svc.cluster.local:9443/#/onedata/clusters/7850e8460d35cdbdc813a6e419fc55eachf887/storages |
03-Dec-2024 08:51:26 | _ test_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement[1oz_2op_deployed] _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="7eb9702fd7613d5d35e0e760ecc04565", element="CD6BE9D3E999A3198C59E252B00D4E12_element_665")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | > item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:148: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:417: in find_element |
03-Dec-2024 08:51:26 | return self._execute(Command.FIND_CHILD_ELEMENT, {"using": by, "value": value})["value"] |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webelement.py:395: in _execute |
03-Dec-2024 08:51:26 | return self._parent.execute(command, params) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/webdriver.py:354: in execute |
03-Dec-2024 08:51:26 | self.error_handler.check_response(response) |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fedb7933710> |
03-Dec-2024 08:51:26 | response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"no such element: Unable to locate element: {\...unknown>\\n#19 0x55f91e4daee3 \\u003Cunknown>\\n#20 0x7fa75c37ba94 \\u003Cunknown>\\n#21 0x7fa75c408a34 __clone\\n"}}'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def check_response(self, response: Dict[str, Any]) -> None: |
03-Dec-2024 08:51:26 | """Checks that a JSON response from the WebDriver does not have an |
03-Dec-2024 08:51:26 | error. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Args: |
03-Dec-2024 08:51:26 | - response - The JSON response from the WebDriver server as a dictionary |
03-Dec-2024 08:51:26 | object. |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | :Raises: If the response contains an error message. |
03-Dec-2024 08:51:26 | """ |
03-Dec-2024 08:51:26 | status = response.get("status", None) |
03-Dec-2024 08:51:26 | if not status or status == ErrorCode.SUCCESS: |
03-Dec-2024 08:51:26 | return |
03-Dec-2024 08:51:26 | value = None |
03-Dec-2024 08:51:26 | message = response.get("message", "") |
03-Dec-2024 08:51:26 | screen: str = response.get("screen", "") |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | if isinstance(status, int): |
03-Dec-2024 08:51:26 | value_json = response.get("value", None) |
03-Dec-2024 08:51:26 | if value_json and isinstance(value_json, str): |
03-Dec-2024 08:51:26 | import json |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | value = json.loads(value_json) |
03-Dec-2024 08:51:26 | if len(value) == 1: |
03-Dec-2024 08:51:26 | value = value["value"] |
03-Dec-2024 08:51:26 | status = value.get("error", None) |
03-Dec-2024 08:51:26 | if not status: |
03-Dec-2024 08:51:26 | status = value.get("status", ErrorCode.UNKNOWN_ERROR) |
03-Dec-2024 08:51:26 | message = value.get("value") or value.get("message") |
03-Dec-2024 08:51:26 | if not isinstance(message, str): |
03-Dec-2024 08:51:26 | value = message |
03-Dec-2024 08:51:26 | message = message.get("message") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | message = value.get("message", None) |
03-Dec-2024 08:51:26 | except ValueError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | exception_class: Type[WebDriverException] |
03-Dec-2024 08:51:26 | e = ErrorCode() |
03-Dec-2024 08:51:26 | error_codes = [item for item in dir(e) if not item.startswith("__")] |
03-Dec-2024 08:51:26 | for error_code in error_codes: |
03-Dec-2024 08:51:26 | error_info = getattr(ErrorCode, error_code) |
03-Dec-2024 08:51:26 | if isinstance(error_info, list) and status in error_info: |
03-Dec-2024 08:51:26 | exception_class = getattr(ExceptionMapping, error_code, WebDriverException) |
03-Dec-2024 08:51:26 | break |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | exception_class = WebDriverException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | if not value: |
03-Dec-2024 08:51:26 | value = response["value"] |
03-Dec-2024 08:51:26 | if isinstance(value, str): |
03-Dec-2024 08:51:26 | raise exception_class(value) |
03-Dec-2024 08:51:26 | if message == "" and "message" in value: |
03-Dec-2024 08:51:26 | message = value["message"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | screen = None # type: ignore[assignment] |
03-Dec-2024 08:51:26 | if "screen" in value: |
03-Dec-2024 08:51:26 | screen = value["screen"] |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | stacktrace = None |
03-Dec-2024 08:51:26 | st_value = value.get("stackTrace") or value.get("stacktrace") |
03-Dec-2024 08:51:26 | if st_value: |
03-Dec-2024 08:51:26 | if isinstance(st_value, str): |
03-Dec-2024 08:51:26 | stacktrace = st_value.split("\n") |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | stacktrace = [] |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | for frame in st_value: |
03-Dec-2024 08:51:26 | line = frame.get("lineNumber", "") |
03-Dec-2024 08:51:26 | file = frame.get("fileName", "<anonymous>") |
03-Dec-2024 08:51:26 | if line: |
03-Dec-2024 08:51:26 | file = f"{file}:{line}" |
03-Dec-2024 08:51:26 | meth = frame.get("methodName", "<anonymous>") |
03-Dec-2024 08:51:26 | if "className" in frame: |
03-Dec-2024 08:51:26 | meth = f"{frame['className']}.{meth}" |
03-Dec-2024 08:51:26 | msg = " at %s (%s)" |
03-Dec-2024 08:51:26 | msg = msg % (meth, file) |
03-Dec-2024 08:51:26 | stacktrace.append(msg) |
03-Dec-2024 08:51:26 | except TypeError: |
03-Dec-2024 08:51:26 | pass |
03-Dec-2024 08:51:26 | if exception_class == UnexpectedAlertPresentException: |
03-Dec-2024 08:51:26 | alert_text = None |
03-Dec-2024 08:51:26 | if "data" in value: |
03-Dec-2024 08:51:26 | alert_text = value["data"].get("text") |
03-Dec-2024 08:51:26 | elif "alert" in value: |
03-Dec-2024 08:51:26 | alert_text = value["alert"].get("text") |
03-Dec-2024 08:51:26 | raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here |
03-Dec-2024 08:51:26 | > raise exception_class(message, screen, stacktrace) |
03-Dec-2024 08:51:26 | E selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".qos-status-fulfilled"} |
03-Dec-2024 08:51:26 | E (Session info: chrome=115.0.5763.0); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception |
03-Dec-2024 08:51:26 | E Stacktrace: |
03-Dec-2024 08:51:26 | E #0 0x55f91e4e22b3 <unknown> |
03-Dec-2024 08:51:26 | E #1 0x55f91e2122d7 <unknown> |
03-Dec-2024 08:51:26 | E #2 0x55f91e25087b <unknown> |
03-Dec-2024 08:51:26 | E #3 0x55f91e250971 <unknown> |
03-Dec-2024 08:51:26 | E #4 0x55f91e246816 <unknown> |
03-Dec-2024 08:51:26 | E #5 0x55f91e26fdcd <unknown> |
03-Dec-2024 08:51:26 | E #6 0x55f91e2466e6 <unknown> |
03-Dec-2024 08:51:26 | E #7 0x55f91e26ff6e <unknown> |
03-Dec-2024 08:51:26 | E #8 0x55f91e287fe9 <unknown> |
03-Dec-2024 08:51:26 | E #9 0x55f91e26fb73 <unknown> |
03-Dec-2024 08:51:26 | E #10 0x55f91e2451ab <unknown> |
03-Dec-2024 08:51:26 | E #11 0x55f91e245f4e <unknown> |
03-Dec-2024 08:51:26 | E #12 0x55f91e4a3668 <unknown> |
03-Dec-2024 08:51:26 | E #13 0x55f91e4a7627 <unknown> |
03-Dec-2024 08:51:26 | E #14 0x55f91e4b1b8c <unknown> |
03-Dec-2024 08:51:26 | E #15 0x55f91e4a8253 <unknown> |
03-Dec-2024 08:51:26 | E #16 0x55f91e476927 <unknown> |
03-Dec-2024 08:51:26 | E #17 0x55f91e4cc018 <unknown> |
03-Dec-2024 08:51:26 | E #18 0x55f91e4cc1a6 <unknown> |
03-Dec-2024 08:51:26 | E #19 0x55f91e4daee3 <unknown> |
03-Dec-2024 08:51:26 | E #20 0x7fa75c37ba94 <unknown> |
03-Dec-2024 08:51:26 | E #21 0x7fa75c408a34 __clone |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/selenium/webdriver/remote/errorhandler.py:229: NoSuchElementException |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | The above exception was the direct cause of the following exception: |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | fixturefunc = <function assert_all_qualities_of_service_are_fulfilled at 0x7fedbc2e3380> |
03-Dec-2024 08:51:26 | request = <FixtureRequest for <Function test_file_is_replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement[1oz_2op_deployed]>> |
03-Dec-2024 08:51:26 | kwargs = {'browser_id': 'browser_unified', 'modals': <class 'tests.gui.utils.common.modals.Modals'>, 'selenium': {'browser_emer..._replicated_from_one_storage_to_storage_which_id_was_set_as_qos_requirement[1oz_2op_deployed]>>}, 'state': 'fulfilled'} |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def call_fixture_func( |
03-Dec-2024 08:51:26 | fixturefunc: "_FixtureFunc[FixtureValue]", request: FixtureRequest, kwargs |
03-Dec-2024 08:51:26 | ) -> FixtureValue: |
03-Dec-2024 08:51:26 | if is_generator(fixturefunc): |
03-Dec-2024 08:51:26 | fixturefunc = cast( |
03-Dec-2024 08:51:26 | Callable[..., Generator[FixtureValue, None, None]], fixturefunc |
03-Dec-2024 08:51:26 | ) |
03-Dec-2024 08:51:26 | generator = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | fixture_result = next(generator) |
03-Dec-2024 08:51:26 | except StopIteration: |
03-Dec-2024 08:51:26 | raise ValueError(f"{request.fixturename} did not yield a value") from None |
03-Dec-2024 08:51:26 | finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator) |
03-Dec-2024 08:51:26 | request.addfinalizer(finalizer) |
03-Dec-2024 08:51:26 | else: |
03-Dec-2024 08:51:26 | fixturefunc = cast(Callable[..., FixtureValue], fixturefunc) |
03-Dec-2024 08:51:26 | > fixture_result = fixturefunc(**kwargs) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/_pytest/fixtures.py:913: |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | tests/utils/bdd_utils.py:78: in wrapper |
03-Dec-2024 08:51:26 | return fun(*ba.args, **ba.kwargs) |
03-Dec-2024 08:51:26 | /usr/local/lib/python3.12/dist-packages/decorator.py:232: in fun |
03-Dec-2024 08:51:26 | return caller(func, *(extras + args), **kw) |
03-Dec-2024 08:51:26 | tests/utils/utils.py:93: in wrapper |
03-Dec-2024 08:51:26 | return fun(*args, **kwargs) |
03-Dec-2024 08:51:26 | tests/gui/steps/oneprovider/qos.py:41: in assert_all_qualities_of_service_are_fulfilled |
03-Dec-2024 08:51:26 | assert hasattr(requirement, state), f"No all QoS requirements are {state}" |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:80: in __get__ |
03-Dec-2024 08:51:26 | item = super().__get__(instance, owner) |
03-Dec-2024 08:51:26 | tests/gui/utils/core/web_elements.py:26: in __get__ |
03-Dec-2024 08:51:26 | return find_web_elem( |
03-Dec-2024 08:51:26 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="7eb9702fd7613d5d35e0e760ecc04565", element="CD6BE9D3E999A3198C59E252B00D4E12_element_665")> |
03-Dec-2024 08:51:26 | css_sel = '.qos-status-fulfilled' |
03-Dec-2024 08:51:26 | err_msg = 'no item found in Requirement in QoS tab' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | def find_web_elem(web_elem_root, css_sel, err_msg): |
03-Dec-2024 08:51:26 | try: |
03-Dec-2024 08:51:26 | _scroll_to_css_sel(web_elem_root, css_sel) |
03-Dec-2024 08:51:26 | item = web_elem_root.find_element(By.CSS_SELECTOR, css_sel) |
03-Dec-2024 08:51:26 | except NoSuchElementException as exc: |
03-Dec-2024 08:51:26 | with suppress(TypeError): |
03-Dec-2024 08:51:26 | err_msg = err_msg() |
03-Dec-2024 08:51:26 | > raise RuntimeError(err_msg) from exc |
03-Dec-2024 08:51:26 | E RuntimeError: no item found in Requirement in QoS tab |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/utils/generic.py:152: RuntimeError |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------ Captured log call ------------------------------- |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | WARNING selenium.webdriver.common.selenium_manager:selenium_manager.py:135 Cache folder (/home/bamboo/.cache/selenium) cannot be created: Permission denied (os error 13) |
03-Dec-2024 08:51:26 | ------------------------------- pytest-selenium -------------------------------- |
03-Dec-2024 08:51:26 | URL: https://dev-oneprovider-paris.default.svc.cluster.local:9443/#/onedata/clusters/7850e8460d35cdbdc813a6e419fc55eachf887/storages |
03-Dec-2024 08:51:26 | =============================== warnings summary =============================== |
03-Dec-2024 08:51:26 | tests/utils/rest_utils.py:98 |
03-Dec-2024 08:51:26 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/rest_utils.py:98: SyntaxWarning: invalid escape sequence '\ ' |
03-Dec-2024 08:51:26 | print(""" |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/utils/path_utils.py:112 |
03-Dec-2024 08:51:26 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/path_utils.py:112: SyntaxWarning: invalid escape sequence '\ ' |
03-Dec-2024 08:51:26 | return path.replace("'", "\\'").replace(' ', '\ ') |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/utils/acceptance_utils.py:55 |
03-Dec-2024 08:51:26 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/acceptance_utils.py:55: SyntaxWarning: invalid escape sequence '\d' |
03-Dec-2024 08:51:26 | '(?P<seconds>\d*\.?\d+([eE][-+]?\d+)?) seconds?')) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/utils/acceptance_utils.py:57 |
03-Dec-2024 08:51:26 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/utils/acceptance_utils.py:57: SyntaxWarning: invalid escape sequence '\d' |
03-Dec-2024 08:51:26 | '(?P<seconds>\d*\.?\d+([eE][-+]?\d+)?) seconds?')) |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | tests/gui/steps/onezone/automation/automation_basic.py:327 |
03-Dec-2024 08:51:26 | /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/gui/steps/onezone/automation/automation_basic.py:327: SyntaxWarning: invalid escape sequence '\(' |
03-Dec-2024 08:51:26 | 'new revision|Duplicate to...|Download \(json\)|Remove)" button ' |
03-Dec-2024 08:51:26 | |
03-Dec-2024 08:51:26 | -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html |
03-Dec-2024 08:51:26 | - generated xml file: /mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/test-reports/results.xml - |
03-Dec-2024 08:51:26 | - Generated html report: file:///mnt/storage/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance/tests/gui/logs/report.1733213843.2908676/report.html - |
03-Dec-2024 08:51:26 | ======== 5 failed, 6 passed, 5 warnings, 5 rerun in 2043.31s (0:34:03) ========= |
03-Dec-2024 08:51:33 | release "dev" uninstalled |
03-Dec-2024 08:51:33 | Sidecar injection has been disabled |
03-Dec-2024 08:51:33 | Cleaning helm release "dev"... |
03-Dec-2024 08:51:33 | Deleted 1 helm deployments |
03-Dec-2024 08:51:33 | Deleted 0 k8s deployments |
03-Dec-2024 08:51:33 | Deleted 0 k8s services |
03-Dec-2024 08:51:33 | Deleted 0 persistent volumes |
03-Dec-2024 08:51:34 | [INFO] ENV variable "bamboo_planRepository_branchName" is set to feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - using it as current branch name |
03-Dec-2024 08:51:34 | [INFO] Using image docker.onedata.org/onezone-dev:VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 for service onezone |
03-Dec-2024 08:51:34 | [INFO] ENV variable "bamboo_planRepository_branchName" is set to feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - using it as current branch name |
03-Dec-2024 08:51:34 | [INFO] Using image docker.onedata.org/oneprovider-dev:VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 for service oneprovider |
03-Dec-2024 08:51:34 | [INFO] Using image docker.onedata.org/rest-cli:develop for service rest-cli |
03-Dec-2024 08:51:34 | Finished task 'Codetag Tracker' with result: Success |
03-Dec-2024 08:51:34 | Starting task 'Parse test results' of type 'com.atlassian.bamboo.plugins.testresultparser:task.testresultparser.junit' |
03-Dec-2024 08:51:34 | Parsing test results under /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB... |
03-Dec-2024 08:51:34 | Failing task since 5 failing test cases were found. |
03-Dec-2024 08:51:34 | Finished task 'Parse test results' with result: Failed |
03-Dec-2024 08:51:34 | All conditions for task 'Pack and push surefire artifact' were met. Conditions: Variable bamboo.buildNumber matches pattern [4-9]|.{2,} |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.artifactRepoHostname} with S3 |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.artifactRepoPort} with 10161 |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.artifactRepoUsername} with ubuntu |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.planRepository.branchName} with feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.planRepository.name} with onedata-acceptance |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.artifactRepoHostname} with S3 |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.artifactRepoPort} with 10161 |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.artifactRepoUsername} with ubuntu |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.planRepository.branchName} with feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 |
03-Dec-2024 08:51:34 | Substituting variable: ${bamboo.planRepository.name} with onedata-acceptance |
03-Dec-2024 08:51:34 | Starting task 'Pack and push surefire artifact' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' |
03-Dec-2024 08:51:34 | Beginning to execute external process for build 'Onedata Products - gui acceptance pkg - feature-VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - QoS basic #16 (ODSRV-GAPT360-CQB-16)' ... running command line: /home/bamboo/bamboo-agent-home/temp/ODSRV-GAPT360-CQB-16-ScriptBuildTask-4924182235282486506.sh ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance |
03-Dec-2024 08:51:34 | ./bamboos/artifacts/push_artifact.py --hostname S3 --port 10161 --username ubuntu --branch feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 --plan onedata-acceptance --artifact-name surefire_QoS_basic.tar.gz |
03-Dec-2024 08:51:35 | Uploading artifact |
03-Dec-2024 08:51:35 | source path: surefire_QoS_basic.tar.gz |
03-Dec-2024 08:51:35 | dest. path: artifacts/onedata-acceptance/feature/VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1/surefire_QoS_basic.tar.gz |
03-Dec-2024 08:51:35 | Finished task 'Pack and push surefire artifact' with result: Success |
03-Dec-2024 08:51:35 | All conditions for task 'Pack logs' were met. Conditions: Variable bamboo.buildNumber matches pattern [4-9]|.{2,} |
03-Dec-2024 08:51:35 | Starting task 'Pack logs' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' |
03-Dec-2024 08:51:35 | Beginning to execute external process for build 'Onedata Products - gui acceptance pkg - feature-VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - QoS basic #16 (ODSRV-GAPT360-CQB-16)' ... running command line: /home/bamboo/bamboo-agent-home/temp/ODSRV-GAPT360-CQB-16-ScriptBuildTask-1820238598870805984.sh ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB |
03-Dec-2024 08:51:35 | cp: cannot stat 'onedata-acceptance/one_env/sources_info.yaml': No such file or directory |
03-Dec-2024 08:51:35 | Finished task 'Pack logs' with result: Success |
03-Dec-2024 08:51:35 | All conditions for task 'Clear env and working dir' were met. Conditions: Variable bamboo.buildNumber matches pattern [4-9]|.{2,} |
03-Dec-2024 08:51:35 | Substituting variable: ${bamboo.OnedataFinalTasksURL} with https://raw.githubusercontent.com/onedata/bamboos/develop/final_tasks.sh |
03-Dec-2024 08:51:35 | Starting task 'Clear env and working dir' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' |
03-Dec-2024 08:51:35 | Beginning to execute external process for build 'Onedata Products - gui acceptance pkg - feature-VFS-12098-test-couchbase-upgrade-to-6.x-from-4.1 - QoS basic #16 (ODSRV-GAPT360-CQB-16)' ... running command line: /home/bamboo/bamboo-agent-home/temp/ODSRV-GAPT360-CQB-16-ScriptBuildTask-7287106991785830197.sh ... in: /home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB/onedata-acceptance |
03-Dec-2024 08:51:35 | % Total % Received % Xferd Average Speed Time Time Time Current |
03-Dec-2024 08:51:35 | Dload Upload Total Spent Left Speed |
03-Dec-2024 08:51:35 | |
03-Dec-2024 08:51:35 | Clearing /tmp/onedata and /home/bamboo/.one-env |
03-Dec-2024 08:51:35 | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 |
03-Dec-2024 08:51:35 | 100 4822 100 4822 0 0 52989 0 --:--:-- --:--:-- --:--:-- 52989 |
03-Dec-2024 08:51:37 | Cleaning helm deployments |
03-Dec-2024 08:51:37 | Cleanining pods |
03-Dec-2024 08:51:37 | Cleaning kube persistant volumes |
03-Dec-2024 08:51:37 | Cleaning dockswift container |
03-Dec-2024 08:51:37 | Cleaning docker containers |
03-Dec-2024 08:51:38 | Error: No such object: eab70ed50c0a |
03-Dec-2024 08:51:38 | Error: No such object: eab70ed50c0a |
03-Dec-2024 08:51:40 | Stalled docker containers to remove: |
03-Dec-2024 08:51:40 | 608c38794230 1ca02ed6a664 8fbef0df4391 592addc63df9 fb4ecd00792e eab70ed50c0a 1ffe4963b1f1 b3cad9436db3 4c54864b6451 1e3667de45fc 882b3b2face2 f7df7971017a 61c333022aea cb7d9d817b1f f587322fcda7 b49ae4296868 0fe472cf9359 47191f9fa103 07cfbb3c3fa1 |
03-Dec-2024 08:51:40 | Removing stalled docker containers |
03-Dec-2024 08:51:40 | Error response from daemon: Cannot kill container: 608c38794230: Container 608c38794230e236667affcfd13868a39ab931392fcd7c24be68495e03c516ed is not running |
03-Dec-2024 08:51:40 | 608c38794230 |
03-Dec-2024 08:51:40 | Error response from daemon: Cannot kill container: 1ca02ed6a664: Container 1ca02ed6a664e6ef1e4a677a6d8c2bcb21adbf5c8c7ece09df1e1a132aa8f8e3 is not running |
03-Dec-2024 08:51:40 | 1ca02ed6a664 |
03-Dec-2024 08:51:40 | Error response from daemon: Cannot kill container: 8fbef0df4391: Container 8fbef0df4391d59835dda82db3f19a4062af264c97ea31b9c88185741f50ea78 is not running |
03-Dec-2024 08:51:40 | 8fbef0df4391 |
03-Dec-2024 08:51:40 | Error response from daemon: Cannot kill container: 592addc63df9: Container 592addc63df94f389d3f4e45a2a2babfeb2c67addc1aebda148cadb7b02e2c67 is not running |
03-Dec-2024 08:51:41 | 592addc63df9 |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: fb4ecd00792e: Container fb4ecd00792e05a59ada4f7b3df33b83fa7d4d6e397a35424654a20b18f11a73 is not running |
03-Dec-2024 08:51:41 | fb4ecd00792e |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: eab70ed50c0a: No such container: eab70ed50c0a |
03-Dec-2024 08:51:41 | Error response from daemon: No such container: eab70ed50c0a |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: 1ffe4963b1f1: Container 1ffe4963b1f1adde51810eb99779ea77bac3ea79ea9aa7d43deddc3de92d5ccb is not running |
03-Dec-2024 08:51:41 | 1ffe4963b1f1 |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: b3cad9436db3: Container b3cad9436db3ff61725c5a7103e43570792871690760c51a2673e90399f50815 is not running |
03-Dec-2024 08:51:41 | b3cad9436db3 |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: 4c54864b6451: Container 4c54864b6451c277e5525c0c98308e522c44ed460a54690d460ceaf570d93281 is not running |
03-Dec-2024 08:51:41 | 4c54864b6451 |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: 1e3667de45fc: Container 1e3667de45fc6b04cf457c571905c7b2555427bfbf55c7be8b5c9699bf8504a2 is not running |
03-Dec-2024 08:51:41 | 1e3667de45fc |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: 882b3b2face2: Container 882b3b2face2f379970af48325f6d1df0ba884271f113ed1ba9179b9d63dc087 is not running |
03-Dec-2024 08:51:41 | 882b3b2face2 |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: f7df7971017a: Container f7df7971017a2e1209ebf194a4e91819416a782ca7e5de8683048890a665b678 is not running |
03-Dec-2024 08:51:41 | f7df7971017a |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: 61c333022aea: Container 61c333022aeab9a448218042cfb1e6cde4089c12e0b7715d3accc50943fb68b0 is not running |
03-Dec-2024 08:51:41 | 61c333022aea |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: cb7d9d817b1f: Container cb7d9d817b1f236130a4ad4b4358ff7ed7a4648d1bf6e0d08e3eacc8fef538a6 is not running |
03-Dec-2024 08:51:41 | cb7d9d817b1f |
03-Dec-2024 08:51:41 | Error response from daemon: Cannot kill container: f587322fcda7: Container f587322fcda7949066b55d3596dcb9273e72e0a2c20b156c1058eaa390c235de is not running |
03-Dec-2024 08:51:41 | f587322fcda7 |
03-Dec-2024 08:51:42 | Error response from daemon: Cannot kill container: b49ae4296868: Container b49ae42968683326594389abb7e7a94b0ecd25808cc3c5f9b27858b1a24ce4e1 is not running |
03-Dec-2024 08:51:42 | b49ae4296868 |
03-Dec-2024 08:51:42 | Error response from daemon: Cannot kill container: 0fe472cf9359: Container 0fe472cf9359142850eeebb1b669c4e55678a687bfbe3b87e9497b26f15331bd is not running |
03-Dec-2024 08:51:42 | 0fe472cf9359 |
03-Dec-2024 08:51:42 | Error response from daemon: Cannot kill container: 47191f9fa103: Container 47191f9fa103d788cf60215560bd3d0d2e4775bda4e8d6584d649fddf68152ab is not running |
03-Dec-2024 08:51:42 | 47191f9fa103 |
03-Dec-2024 08:51:42 | 07cfbb3c3fa1 |
03-Dec-2024 08:51:42 | 07cfbb3c3fa1 |
03-Dec-2024 08:51:42 | Stalled docker volumes to remove: |
03-Dec-2024 08:51:42 | |
03-Dec-2024 08:51:42 | Removing stalled docker volumes |
03-Dec-2024 08:51:42 | Removing stalled loopdevices |
03-Dec-2024 08:51:43 | Done |
03-Dec-2024 08:51:43 | Finished task 'Clear env and working dir' with result: Success |
03-Dec-2024 08:51:43 | Skipping task 'Qnthack - always fail on build 2' because of unfulfilled condition. Reason: Variable bamboo.buildNumber matches pattern 2 |
03-Dec-2024 08:51:43 | Running post build plugin 'Docker Container Cleanup' |
03-Dec-2024 08:51:43 | Running post build plugin 'NCover Results Collector' |
03-Dec-2024 08:51:43 | Running post build plugin 'Build Results Label Collector' |
03-Dec-2024 08:51:43 | Running post build plugin 'Clover Results Collector' |
03-Dec-2024 08:51:43 | Running post build plugin 'npm Cache Cleanup' |
03-Dec-2024 08:51:43 | Running post build plugin 'Artifact Copier' |
03-Dec-2024 08:51:43 | Publishing an artifact: report |
03-Dec-2024 08:51:52 | Finished publishing of artifact Non required job artifact Http Compression On : [report], patterns: [**/*.*] anchored at: [onedata-acceptance/tests/gui/logs/] in 9.393 s |
03-Dec-2024 08:51:53 | Successfully removed working directory at '/home/bamboo/bamboo-agent-home/xml-data/build-dir/ODSRV-GAPT360-CQB' |
03-Dec-2024 08:51:53 | Finalising the build... |
03-Dec-2024 08:51:53 | Stopping timer. |
03-Dec-2024 08:51:53 | Build ODSRV-GAPT360-CQB-16 completed. |
03-Dec-2024 08:51:53 | Running on server: post build plugin 'Build Hanging Detection Configuration' |
03-Dec-2024 08:51:53 | Running on server: post build plugin 'NCover Results Collector' |
03-Dec-2024 08:51:53 | Running on server: post build plugin 'Build Labeller' |
03-Dec-2024 08:51:53 | Running on server: post build plugin 'Clover Delta Calculator' |
03-Dec-2024 08:51:53 | Running on server: post build plugin 'Maven Dependencies Postprocessor' |
03-Dec-2024 08:51:53 | All post build plugins have finished |
03-Dec-2024 08:51:53 | Generating build results summary... |
03-Dec-2024 08:51:53 | Saving build results to disk... |
03-Dec-2024 08:51:53 | Store variable context... |
03-Dec-2024 08:51:53 | Finished building ODSRV-GAPT360-CQB-16. |