Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[py] Replace deprecated get_attribute() in tests #14807

Open
wants to merge 2 commits into
base: trunk
Choose a base branch
from

Conversation

VietND96
Copy link
Member

@VietND96 VietND96 commented Nov 26, 2024

User description

Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it

Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.

Description

Mostly changes in

  • get_attribute("value") -> get_property("value")
  • get_attribute("checked") -> get_property("checked")
  • get_attribute("index") -> get_property("index")
  • get_attribute("selected") -> get_property("selected")
  • For others, replace with get_dom_attribute()

Motivation and Context

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

PR Type

enhancement, tests


Description

  • Replaced deprecated get_attribute() method with get_property() and get_dom_attribute() across various files to align with updated WebDriver API practices.
  • Updated multiple test files to ensure compatibility with the new attribute access methods.
  • Enhanced the robustness of tests by using more appropriate methods for accessing element properties and attributes.

Changes walkthrough 📝

Relevant files
Enhancement
2 files
expected_conditions.py
Update element attribute and value checks in expected conditions

py/selenium/webdriver/support/expected_conditions.py

  • Replaced get_attribute() with get_property() for element value checks.
  • Replaced get_attribute() with get_dom_attribute() for element
    attribute checks.
  • +3/-3     
    select.py
    Update index attribute checks in select elements                 

    py/selenium/webdriver/support/select.py

  • Replaced get_attribute() with get_dom_attribute() for index checks in
    select elements.
  • +2/-2     
    Tests
    13 files
    api_example_tests.py
    Update attribute access methods in API example tests         

    py/test/selenium/webdriver/common/api_example_tests.py

  • Replaced get_attribute() with get_property() and get_dom_attribute()
    in various tests.
  • +8/-8     
    children_finding_tests.py
    Update child element attribute access in tests                     

    py/test/selenium/webdriver/common/children_finding_tests.py

  • Replaced get_attribute() with get_dom_attribute() in child element
    finding tests.
  • +8/-8     
    clear_tests.py
    Update input value checks in clear tests                                 

    py/test/selenium/webdriver/common/clear_tests.py

  • Replaced get_attribute() with get_property() for value checks after
    clearing inputs.
  • +2/-2     
    correct_event_firing_tests.py
    Update event firing checks for input values                           

    py/test/selenium/webdriver/common/correct_event_firing_tests.py

  • Replaced get_attribute() with get_property() for event firing checks.
  • +1/-1     
    driver_element_finding_tests.py
    Update element attribute access in driver element finding tests

    py/test/selenium/webdriver/common/driver_element_finding_tests.py

  • Replaced get_attribute() with get_dom_attribute() and get_property()
    in element finding tests.
  • +23/-23 
    executing_async_javascript_tests.py
    Update async JavaScript execution tests for attribute access

    py/test/selenium/webdriver/common/executing_async_javascript_tests.py

  • Replaced get_attribute() with get_property() in async JavaScript
    execution tests.
  • +2/-2     
    form_handling_tests.py
    Update form handling tests for attribute access                   

    py/test/selenium/webdriver/common/form_handling_tests.py

  • Replaced get_attribute() with get_property() in form handling tests.
  • +11/-11 
    frame_switching_tests.py
    Update frame switching tests for attribute access               

    py/test/selenium/webdriver/common/frame_switching_tests.py

  • Replaced get_attribute() with get_property() and get_dom_attribute()
    in frame switching tests.
  • +5/-5     
    interactions_tests.py
    Update interaction tests for attribute access                       

    py/test/selenium/webdriver/common/interactions_tests.py

  • Replaced get_attribute() with get_property() in interaction tests.
  • +8/-8     
    interactions_with_device_tests.py
    Update device interaction tests for attribute access         

    py/test/selenium/webdriver/common/interactions_with_device_tests.py

  • Replaced get_attribute() with get_property() in device interaction
    tests.
  • +8/-8     
    select_element_handling_tests.py
    Update select element handling tests for attribute access

    py/test/selenium/webdriver/common/select_element_handling_tests.py

  • Replaced get_attribute() with get_property() in select element
    handling tests.
  • +3/-3     
    stale_reference_tests.py
    Update stale reference tests for attribute access               

    py/test/selenium/webdriver/common/stale_reference_tests.py

  • Replaced get_attribute() with get_dom_attribute() in stale reference
    tests.
  • +1/-1     
    text_handling_tests.py
    Update text handling tests for attribute access                   

    py/test/selenium/webdriver/common/text_handling_tests.py

  • Replaced get_attribute() with get_property() in text handling tests.
  • +2/-2     

    💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
    Copy link
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 PR contains tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    API Change
    Verify that replacing get_attribute() with get_property() for value checks and get_dom_attribute() for attribute checks maintains the same functionality and doesn't break any existing behavior

    Test Coverage
    Ensure that test cases properly validate both property and attribute access after the API changes

    Copy link
    Contributor

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Possible issue
    Add explicit waits when checking element values after input to avoid flaky tests

    Consider using WebDriverWait for all assertions that check element values after
    sending keys, to avoid potential race conditions where the value hasn't been updated
    yet.

    py/test/selenium/webdriver/common/typing_tests.py [61-62]

     keyReporter.send_keys("ABC DEF")
    -assert keyReporter.get_property("value") == "ABC DEF"
    +WebDriverWait(driver, 2).until(lambda d: d.find_element(By.ID, "keyReporter").get_property("value") == "ABC DEF")
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: The suggestion addresses a potential race condition by adding explicit waits for element value verification after input operations, which could improve test reliability and reduce flakiness.

    7

    💡 Need additional feedback ? start a PR chat

    Copy link
    Contributor

    codiumai-pr-agent-pro bot commented Nov 26, 2024

    CI Failure Feedback 🧐

    (Checks updated until commit 956318e)

    Action: Test / All RBE tests

    Failed stage: Run Bazel [❌]

    Failed test name: NoSuchShadowRootTest-chrome

    Failure summary:

    The action failed due to two specific test failures:

  • The test NoSuchShadowRootTest-chrome failed because it did not raise an expected throwable. The test
    was expecting an exception to be thrown when attempting to access a non-existent shadow root, but
    this did not occur.
  • The test ShadowRootHandlingTest-chrome also failed, but the specific reason for this failure is not
    detailed in the provided log excerpt.

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    970:  Package 'php-symfony-debug-bundle' is not installed, so not removed
    971:  Package 'php-symfony-dependency-injection' is not installed, so not removed
    972:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
    973:  Package 'php-symfony-discord-notifier' is not installed, so not removed
    974:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
    975:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
    976:  Package 'php-symfony-dom-crawler' is not installed, so not removed
    977:  Package 'php-symfony-dotenv' is not installed, so not removed
    978:  Package 'php-symfony-error-handler' is not installed, so not removed
    ...
    
    1807:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_submit_test.html -> javascript/atoms/test/click_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1808:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_test.html -> javascript/atoms/test/click_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1809:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/clientrect_test.html -> javascript/atoms/test/clientrect_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1810:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/color_test.html -> javascript/atoms/test/color_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1811:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/dom_test.html -> javascript/atoms/test/dom_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1812:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/drag_test.html -> javascript/atoms/test/drag_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1813:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enabled_test.html -> javascript/atoms/test/enabled_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1814:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enter_submit_test.html -> javascript/atoms/test/enter_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1815:  (14:06:04) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/error_test.html -> javascript/atoms/test/error_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    ...
    
    1983:  2 installed gems you directly depend on are looking for funding.
    1984:  Run `bundle fund` for details
    1985:  (14:06:20) �[32mINFO: �[0mFrom Running Cargo build script bzip2-sys:
    1986:  Build Script Warning: bzip2-1.0.8/compress.c: In function ‘sendMTFValues’:
    1987:  Build Script Warning: bzip2-1.0.8/compress.c:243:19: warning: variable ‘nBytes’ set but not used [-Wunused-but-set-variable]
    1988:  Build Script Warning:   243 |    Int32 nGroups, nBytes;
    1989:  Build Script Warning:       |                   ^~~~~~
    1990:  (14:06:21) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):
    1991:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1992:  private final ErrorCodes errorCodes;
    1993:  ^
    1994:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1995:  this.errorCodes = new ErrorCodes();
    1996:  ^
    1997:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1998:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1999:  ^
    2000:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2001:  ErrorCodes errorCodes = new ErrorCodes();
    2002:  ^
    2003:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2004:  ErrorCodes errorCodes = new ErrorCodes();
    2005:  ^
    2006:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2007:  response.setStatus(ErrorCodes.SUCCESS);
    2008:  ^
    2009:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2010:  response.setState(ErrorCodes.SUCCESS_STRING);
    2011:  ^
    2012:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2013:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    2014:  ^
    2015:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2016:  new ErrorCodes().getExceptionType((String) rawError);
    2017:  ^
    2018:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2019:  private final ErrorCodes errorCodes = new ErrorCodes();
    2020:  ^
    2021:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2022:  private final ErrorCodes errorCodes = new ErrorCodes();
    2023:  ^
    2024:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2025:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    2026:  ^
    2027:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2028:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    2029:  ^
    2030:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2031:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    2032:  ^
    2033:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2034:  response.setStatus(ErrorCodes.SUCCESS);
    2035:  ^
    2036:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2037:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    2038:  ^
    2039:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2040:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    2041:  ^
    2042:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2043:  private final ErrorCodes errorCodes = new ErrorCodes();
    2044:  ^
    2045:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2046:  private final ErrorCodes errorCodes = new ErrorCodes();
    2047:  ^
    2048:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2049:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    2050:  ^
    2051:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2052:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    2053:  ^
    2054:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2055:  response.setStatus(ErrorCodes.SUCCESS);
    2056:  ^
    2057:  (14:06:21) �[32mINFO: �[0mFrom PackageZip javascript/grid-ui/react-zip.jar:
    2058:  /mnt/engflow/worker/work/0/exec/bazel-out/k8-opt-exec-ST-a934f86a68ba/bin/external/rules_pkg~/pkg/private/zip/build_zip.runfiles/rules_python~~python~python_3_8_x86_64-unknown-linux-gnu/lib/python3.8/zipfile.py:1525: UserWarning: Duplicate name: 'grid-ui/'
    2059:  return self._open_to_write(zinfo, force_zip64=force_zip64)
    2060:  (14:06:24) �[32mAnalyzing:�[0m 2148 targets (1595 packages loaded, 54808 targets configured)
    2061:  �[32m[10,451 / 11,237]�[0m 76 / 1537 tests;�[0m [Prepa] Compiling Java headers java/src/org/openqa/selenium/grid/node/config/libconfig-hjar.jar (4 source files) ... (9 actions, 0 running)
    2062:  (14:06:25) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
    2063:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2064:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
    2065:  ^
    2066:  (14:06:25) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2067:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2068:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2069:  ^
    2070:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2071:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2072:  ^
    2073:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2074:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2075:  ^
    2076:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2077:  private final ErrorCodes errorCodes = new ErrorCodes();
    2078:  ^
    2079:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2080:  private final ErrorCodes errorCodes = new ErrorCodes();
    2081:  ^
    2082:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2083:  private final ErrorCodes errorCodes = new ErrorCodes();
    2084:  ^
    2085:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2086:  private final ErrorCodes errorCodes = new ErrorCodes();
    2087:  ^
    2088:  (14:06:25) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
    2089:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:26: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2090:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
    2091:  ^
    2092:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2093:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);
    2094:  ^
    2095:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:81: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2096:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2097:  ^
    2098:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2099:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2100:  ^
    2101:  (14:06:25) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
    2102:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2103:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2104:  ^
    2105:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2106:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2107:  ^
    2108:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2109:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
    2110:  ^
    2111:  (14:06:27) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2112:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2113:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
    2114:  ^
    2115:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2116:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2117:  ^
    2118:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2119:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2120:  ^
    2121:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2122:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2123:  ^
    2124:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2125:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2126:  ^
    2127:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2128:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
    2129:  ^
    2130:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2131:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2132:  ^
    2133:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2134:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2135:  ^
    2136:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2137:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2138:  ^
    2139:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2140:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
    2141:  ^
    2142:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2143:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
    2144:  ^
    2145:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2146:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
    2147:  ^
    2148:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2149:  ErrorCodes.UNHANDLED_ERROR,
    2150:  ^
    2151:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2152:  ErrorCodes.UNHANDLED_ERROR,
    2153:  ^
    2154:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2155:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2156:  ^
    2157:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2158:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2159:  ^
    2160:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2161:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2162:  ^
    2163:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2164:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2165:  ^
    2166:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2167:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2168:  ^
    2169:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2170:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2171:  ^
    2172:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2173:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2174:  ^
    2175:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2176:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2177:  ^
    2178:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2179:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2180:  ^
    2181:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2182:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
    2183:  ^
    2184:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2185:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2186:  ^
    2187:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2188:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2189:  ^
    2190:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2191:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2192:  ^
    2193:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2194:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2195:  ^
    2196:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2197:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2198:  ^
    2199:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2200:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
    2201:  ^
    2202:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2203:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
    2204:  ^
    2205:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2206:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2207:  ^
    2208:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2209:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
    2210:  ^
    2211:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2212:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2213:  ^
    2214:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2215:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
    2216:  ^
    2217:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2218:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
    2219:  ^
    2220:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2221:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
    2222:  ^
    2223:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2224:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
    2225:  ^
    2226:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2227:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
    2228:  ^
    2229:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2230:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
    2231:  ^
    2232:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2233:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
    2234:  ^
    2235:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2236:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
    2237:  ^
    2238:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2239:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
    2240:  ^
    2241:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2242:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
    2243:  ^
    2244:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2245:  ? ErrorCodes.INVALID_SELECTOR_ERROR
    2246:  ^
    2247:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2248:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
    2249:  ^
    2250:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2251:  response.setState(new ErrorCodes().toState(status));
    ...
    
    2283:  (14:07:40) �[32mAnalyzing:�[0m 2148 targets (1635 packages loaded, 62725 targets configured)
    2284:  �[32m[13,625 / 14,194]�[0m 1313 / 2042 tests;�[0m Testing //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge; 30s remote, remote-cache ... (44 actions, 9 running)
    2285:  (14:07:45) �[32mAnalyzing:�[0m 2148 targets (1635 packages loaded, 62745 targets configured)
    2286:  �[32m[14,389 / 14,853]�[0m 1390 / 2062 tests;�[0m Testing //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge; 35s remote, remote-cache ... (48 actions, 15 running)
    2287:  (14:07:50) �[32mAnalyzing:�[0m 2148 targets (1635 packages loaded, 62756 targets configured)
    2288:  �[32m[14,922 / 15,273]�[0m 1422 / 2071 tests;�[0m Testing //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge; 40s remote, remote-cache ... (43 actions, 9 running)
    2289:  (14:07:55) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium:NoSuchShadowRootTest-chrome (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/NoSuchShadowRootTest-chrome/test.log)
    2290:  ==================== Test output for //java/test/org/openqa/selenium:NoSuchShadowRootTest-chrome:
    2291:  �[31m�[1mFAILED: �[0m//java/test/org/openqa/selenium:NoSuchShadowRootTest-chrome (Summary)
    2292:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/NoSuchShadowRootTest-chrome/test.log
    2293:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/NoSuchShadowRootTest-chrome/test_attempts/attempt_1.log
    2294:  (14:07:55) �[32mINFO: �[0mFrom Testing //java/test/org/openqa/selenium:NoSuchShadowRootTest-chrome:
    2295:  Failures: 1
    2296:  1) getNoSuchShadowRoot() (org.openqa.selenium.NoSuchShadowRootTest)
    2297:  java.lang.AssertionError: 
    2298:  Expecting code to raise a throwable.
    2299:  at org.openqa.selenium.NoSuchShadowRootTest.getNoSuchShadowRoot(NoSuchShadowRootTest.java:32)
    2300:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIDHa7wUGXt28huRWeRX6GlRZcXUlAdPfj0453IxVoYq2EJ8D
    2301:  ================================================================================
    2302:  ==================== Test output for //java/test/org/openqa/selenium:NoSuchShadowRootTest-chrome:
    2303:  Failures: 1
    2304:  1) getNoSuchShadowRoot() (org.openqa.selenium.NoSuchShadowRootTest)
    2305:  java.lang.AssertionError: 
    2306:  Expecting code to raise a throwable.
    2307:  at org.openqa.selenium.NoSuchShadowRootTest.getNoSuchShadowRoot(NoSuchShadowRootTest.java:32)
    2308:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIDHa7wUGXt28huRWeRX6GlRZcXUlAdPfj0453IxVoYq2EJ8D
    2309:  ================================================================================
    2310:  (14:07:55) �[32mAnalyzing:�[0m 2148 targets (1635 packages loaded, 62782 targets configured)
    2311:  �[32m[15,139 / 15,426]�[0m 1507 / 2098 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge; 46s remote, remote-cache ... (45 actions, 5 running)
    2312:  (14:07:59) �[32mINFO: �[0mFrom Compiling webdriver-netstandard2.0 (internals ref-only dll):
    2313:  dotnet/src/webdriver/Interactions/ActionSequence.cs(80,28): warning CS3005: Identifier 'ActionSequence.InputDevice' differing only in case is not CLS-compliant
    2314:  dotnet/src/webdriver/Interactions/ActionSequence.cs(80,42): warning CS3005: Identifier 'ActionSequence.InputDevice.get' differing only in case is not CLS-compliant
    2315:  (14:08:00) �[32mINFO: �[0mFrom Compiling webdriver-net8.0 (internals ref-only dll):
    2316:  dotnet/src/webdriver/Interactions/ActionSequence.cs(80,28): warning CS3005: Identifier 'ActionSequence.InputDevice' differing only in case is not CLS-compliant
    2317:  dotnet/src/webdriver/Interactions/ActionSequence.cs(80,42): warning CS3005: Identifier 'ActionSequence.InputDevice.get' differing only in case is not CLS-compliant
    2318:  (14:08:00) �[32mAnalyzing:�[0m 2148 targets (1635 packages loaded, 62822 targets configured)
    2319:  �[32m[15,235 / 15,839]�[0m 1539 / 2139 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge; 51s remote, remote-cache ... (50 actions, 1 running)
    ...
    
    2453:  dotnet/test/common/ClearTest.cs(34,43): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2454:  dotnet/test/common/ClearTest.cs(62,43): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2455:  dotnet/test/common/ClearTest.cs(198,39): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2456:  dotnet/test/common/ClearTest.cs(200,43): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2457:  (14:08:05) �[32mINFO: �[0mFrom Compiling UploadTest-chrome:
    2458:  dotnet/test/common/UploadTest.cs(72,43): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2459:  dotnet/test/common/VisibilityTest.cs(103,25): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2460:  (14:08:05) �[32mINFO: �[0mFrom Compiling VisibilityTest-firefox:
    2461:  (14:08:05) �[32m[15,280 / 15,888]�[0m 1539 / 2148 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge; 56s remote, remote-cache ... (49 actions, 3 running)
    ...
    
    2602:  dotnet/test/common/ChildrenFindingTest.cs(179,29): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2603:  dotnet/test/common/ChildrenFindingTest.cs(180,29): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2604:  dotnet/test/common/ChildrenFindingTest.cs(233,38): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2605:  dotnet/test/common/ChildrenFindingTest.cs(256,34): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2606:  dotnet/test/common/ChildrenFindingTest.cs(267,34): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2607:  dotnet/test/common/ChildrenFindingTest.cs(334,38): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2608:  dotnet/test/common/ChildrenFindingTest.cs(377,54): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2609:  (14:08:07) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium:NoSuchShadowRootTest-edge (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/NoSuchShadowRootTest-edge/test.log)
    2610:  �[31m�[1mFAILED: �[0m//java/test/org/openqa/selenium:NoSuchShadowRootTest-edge (Summary)
    2611:  ==================== Test output for //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge:
    2612:  Failures: 1
    2613:  1) getNoSuchShadowRoot() (org.openqa.selenium.NoSuchShadowRootTest)
    2614:  java.lang.AssertionError: 
    2615:  Expecting code to raise a throwable.
    2616:  at org.openqa.selenium.NoSuchShadowRootTest.getNoSuchShadowRoot(NoSuchShadowRootTest.java:32)
    2617:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIOK4VbOpPPSdG2DCI1CXIpe9DQ5bRwwVdHrBOvv7VMDOEJ8D
    2618:  ================================================================================
    2619:  ==================== Test output for //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge:
    2620:  Failures: 1
    2621:  1) getNoSuchShadowRoot() (org.openqa.selenium.NoSuchShadowRootTest)
    2622:  java.lang.AssertionError: 
    ...
    
    2786:  dotnet/test/common/TypingTest.cs(650,34): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2787:  dotnet/test/common/TypingTest.cs(735,20): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2788:  (14:08:10) �[32mINFO: �[0mFrom Compiling ShadowRootHandlingTest-firefox:
    2789:  dotnet/test/common/ShadowRootHandlingTest.cs(46,25): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2790:  (14:08:10) �[32mINFO: �[0mFrom Compiling Interactions/CombinedInputActionsTest-edge:
    2791:  dotnet/test/common/Interactions/CombinedInputActionsTest.cs(295,40): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2792:  dotnet/test/common/Interactions/CombinedInputActionsTest.cs(306,43): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2793:  dotnet/test/common/Interactions/CombinedInputActionsTest.cs(315,47): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2794:  (14:08:10) �[32m[15,457 / 16,060]�[0m 1545 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:common-edge-test/selenium/webdriver/common/fedcm_tests.py; 11s ... (50 actions, 6 running)
    ...
    
    3018:  (14:08:13) �[32mINFO: �[0mFrom Compiling UploadTest-edge:
    3019:  dotnet/test/common/UploadTest.cs(72,43): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3020:  (14:08:14) �[32mINFO: �[0mFrom Compiling WebElementTest-firefox:
    3021:  dotnet/test/common/WebElementTest.cs(113,33): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3022:  dotnet/test/common/WebElementTest.cs(124,33): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3023:  dotnet/test/common/WebElementTest.cs(134,40): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3024:  dotnet/test/common/WebElementTest.cs(165,42): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3025:  dotnet/test/common/WebElementTest.cs(166,39): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3026:  (14:08:16) �[32m[15,576 / 16,151]�[0m 1573 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:common-edge-test/selenium/webdriver/common/fedcm_tests.py; 16s ... (50 actions, 9 running)
    3027:  (14:08:21) �[32m[15,602 / 16,151]�[0m 1599 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:common-edge-test/selenium/webdriver/common/fedcm_tests.py; 21s ... (50 actions, 11 running)
    3028:  (14:08:27) �[32m[15,609 / 16,151]�[0m 1606 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:common-edge-test/selenium/webdriver/common/fedcm_tests.py; 28s ... (50 actions, 13 running)
    3029:  (14:08:33) �[32m[15,609 / 16,151]�[0m 1606 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:common-edge-test/selenium/webdriver/common/fedcm_tests.py; 33s ... (50 actions, 14 running)
    3030:  (14:08:38) �[32m[15,609 / 16,151]�[0m 1606 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:common-edge-bidi-test/selenium/webdriver/common/children_finding_tests.py; 37s ... (50 actions, 18 running)
    3031:  (14:08:43) �[32m[15,610 / 16,151]�[0m 1607 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:common-edge-bidi-test/selenium/webdriver/common/children_finding_tests.py; 43s ... (50 actions, 22 running)
    3032:  (14:08:50) �[32m[15,619 / 16,157]�[0m 1610 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //py:unit-test/unit/selenium/webdriver/virtual_authenticator/virtual_authenticator_options_tests.py; 49s ... (50 actions, 26 running)
    3033:  (14:08:55) �[32m[15,621 / 16,157]�[0m 1612 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-test/selenium/webdriver/common/page_load_timeout_tests.py; 54s remote, remote-cache ... (50 actions, 26 running)
    3034:  (14:09:00) �[32m[15,623 / 16,157]�[0m 1614 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-test/selenium/webdriver/common/page_load_timeout_tests.py; 59s remote, remote-cache ... (50 actions, 28 running)
    3035:  (14:09:05) �[32m[15,629 / 16,157]�[0m 1620 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/opacity_tests.py; 57s remote, remote-cache ... (50 actions, 30 running)
    3036:  (14:09:11) �[32m[15,632 / 16,157]�[0m 1623 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/virtual_authenticator_tests.py; 62s remote, remote-cache ... (50 actions, 30 running)
    3037:  (14:09:16) �[32m[15,636 / 16,157]�[0m 1627 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/virtual_authenticator_tests.py; 67s remote, remote-cache ... (50 actions, 30 running)
    3038:  (14:09:22) �[32m[15,640 / 16,157]�[0m 1631 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/virtual_authenticator_tests.py; 73s remote, remote-cache ... (50 actions, 32 running)
    3039:  (14:09:30) �[32m[15,641 / 16,157]�[0m 1632 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/virtual_authenticator_tests.py; 82s remote, remote-cache ... (50 actions, 32 running)
    3040:  (14:09:36) �[32m[15,644 / 16,157]�[0m 1635 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/select_class_tests.py; 77s remote, remote-cache ... (50 actions, 34 running)
    3041:  (14:09:43) �[32m[15,655 / 16,163]�[0m 1640 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 84s remote, remote-cache ... (50 actions, 35 running)
    3042:  (14:09:49) �[32m[15,658 / 16,163]�[0m 1643 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 89s remote, remote-cache ... (50 actions, 33 running)
    3043:  (14:09:54) �[32m[15,661 / 16,163]�[0m 1646 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 94s remote, remote-cache ... (50 actions, 33 running)
    3044:  (14:10:00) �[32m[15,662 / 16,163]�[0m 1647 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 101s remote, remote-cache ... (50 actions, 32 running)
    3045:  (14:10:07) �[32m[15,662 / 16,163]�[0m 1647 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 107s remote, remote-cache ... (50 actions, 32 running)
    3046:  (14:10:12) �[32m[15,662 / 16,163]�[0m 1647 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 112s remote, remote-cache ... (50 actions, 36 running)
    3047:  (14:10:19) �[32m[15,662 / 16,163]�[0m 1647 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 119s remote, remote-cache ... (50 actions, 37 running)
    3048:  (14:10:24) �[32m[15,665 / 16,163]�[0m 1650 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 124s remote, remote-cache ... (50 actions, 36 running)
    3049:  (14:10:30) �[32m[15,670 / 16,163]�[0m 1655 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 130s remote, remote-cache ... (50 actions, 35 running)
    3050:  (14:10:35) �[32m[15,670 / 16,163]�[0m 1655 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 136s remote, remote-cache ... (50 actions, 36 running)
    3051:  (14:10:40) �[32m[15,672 / 16,163]�[0m 1657 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 141s remote, remote-cache ... (50 actions, 37 running)
    3052:  (14:10:48) �[32m[15,675 / 16,163]�[0m 1660 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 148s remote, remote-cache ... (50 actions, 35 running)
    3053:  (14:10:55) �[32m[15,676 / 16,163]�[0m 1661 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 156s remote, remote-cache ... (50 actions, 34 running)
    3054:  (14:11:03) �[32m[15,686 / 16,169]�[0m 1665 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 163s remote, remote-cache ... (50 actions, 32 running)
    3055:  (14:11:08) �[32m[15,688 / 16,169]�[0m 1667 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 168s remote, remote-cache ... (50 actions, 34 running)
    3056:  (14:11:14) �[32m[15,689 / 16,169]�[0m 1668 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 175s remote, remote-cache ... (50 actions, 35 running)
    3057:  (14:11:20) �[32m[15,690 / 16,169]�[0m 1669 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 181s remote, remote-cache ... (50 actions, 35 running)
    3058:  (14:11:29) �[32m[15,691 / 16,169]�[0m 1670 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 189s remote, remote-cache ... (50 actions, 37 running)
    3059:  (14:11:35) �[32m[15,691 / 16,169]�[0m 1670 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 196s remote, remote-cache ... (50 actions, 38 running)
    3060:  (14:11:46) �[32m[15,691 / 16,169]�[0m 1670 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 206s remote, remote-cache ... (50 actions, 38 running)
    3061:  (14:11:54) �[32m[15,692 / 16,169]�[0m 1671 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 214s remote, remote-cache ... (50 actions, 39 running)
    3062:  (14:12:00) �[32m[15,694 / 16,169]�[0m 1673 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 221s remote, remote-cache ... (50 actions, 37 running)
    3063:  (14:12:08) �[32m[15,694 / 16,169]�[0m 1673 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 228s remote, remote-cache ... (50 actions, 39 running)
    3064:  (14:12:13) �[32m[15,697 / 16,169]�[0m 1677 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 234s remote, remote-cache ... (50 actions, 38 running)
    3065:  (14:12:18) �[32m[15,705 / 16,169]�[0m 1684 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 239s remote, remote-cache ... (50 actions, 31 running)
    3066:  (14:12:23) �[32m[15,708 / 16,169]�[0m 1687 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 244s remote, remote-cache ... (50 actions, 31 running)
    3067:  (14:12:29) �[32m[15,709 / 16,169]�[0m 1688 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 249s remote, remote-cache ... (50 actions, 33 running)
    3068:  (14:12:35) �[32m[15,710 / 16,169]�[0m 1689 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/interactions_tests.py; 256s remote, remote-cache ... (50 actions, 34 running)
    3069:  (14:12:41) �[32m[15,712 / 16,169]�[0m 1691 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 202s remote, remote-cache ... (50 actions, 34 running)
    3070:  (14:12:46) �[32m[15,712 / 16,169]�[0m 1691 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 207s remote, remote-cache ... (50 actions, 38 running)
    3071:  (14:12:51) �[32m[15,714 / 16,169]�[0m 1693 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 212s remote, remote-cache ... (50 actions, 41 running)
    3072:  (14:12:58) �[32m[15,716 / 16,169]�[0m 1695 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 219s remote, remote-cache ... (50 actions, 41 running)
    3073:  (14:13:03) �[32m[15,718 / 16,169]�[0m 1697 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 224s remote, remote-cache ... (50 actions, 41 running)
    3074:  (14:13:08) �[32m[15,721 / 16,169]�[0m 1700 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 229s remote, remote-cache ... (50 actions, 41 running)
    3075:  (14:13:15) �[32m[15,722 / 16,169]�[0m 1702 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 236s remote, remote-cache ... (50 actions, 42 running)
    3076:  (14:13:20) �[32m[15,724 / 16,169]�[0m 1703 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 241s remote, remote-cache ... (50 actions, 42 running)
    3077:  (14:13:26) �[32m[15,726 / 16,169]�[0m 1705 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 247s remote, remote-cache ... (50 actions, 41 running)
    3078:  (14:13:32) �[32m[15,727 / 16,169]�[0m 1706 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 253s remote, remote-cache ... (50 actions, 40 running)
    3079:  (14:13:37) �[32m[15,729 / 16,169]�[0m 1709 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 258s remote, remote-cache ... (50 actions, 38 running)
    3080:  (14:13:42) �[32m[15,731 / 16,169]�[0m 1710 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 264s remote, remote-cache ... (50 actions, 38 running)
    3081:  (14:13:50) �[32m[15,732 / 16,169]�[0m 1711 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 271s remote, remote-cache ... (50 actions, 37 running)
    3082:  (14:13:56) �[32m[15,732 / 16,169]�[0m 1711 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 277s remote, remote-cache ... (50 actions, 37 running)
    3083:  (14:14:01) �[32m[15,733 / 16,169]�[0m 1713 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 282s remote, remote-cache ... (50 actions, 40 running)
    3084:  (14:14:10) �[32m[15,735 / 16,169]�[0m 1714 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 291s remote, remote-cache ... (50 actions, 39 running)
    3085:  (14:14:16) �[32m[15,735 / 16,169]�[0m 1714 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 297s remote, remote-cache ... (50 actions, 39 running)
    3086:  (14:14:22) �[32m[15,735 / 16,169]�[0m 1714 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 303s remote, remote-cache ... (50 actions, 40 running)
    3087:  (14:14:22) �[31m�[1mFAIL: �[0m//py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/py/common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py/test_attempts/attempt_1.log)
    3088:  (14:14:28) �[32m[15,739 / 16,169]�[0m 1718 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 309s remote, remote-cache ... (50 actions, 42 running)
    3089:  (14:14:35) �[32m[15,740 / 16,169]�[0m 1719 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 316s remote, remote-cache ... (50 actions, 41 running)
    3090:  (14:14:40) �[32m[15,741 / 16,169]�[0m 1720 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 322s remote, remote-cache ... (50 actions, 41 running)
    3091:  (14:14:49) �[32m[15,743 / 16,169]�[0m 1722 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 330s remote, remote-cache ... (50 actions, 39 running)
    3092:  (14:14:55) �[32m[15,743 / 16,169]�[0m 1722 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 337s remote, remote-cache ... (50 actions, 40 running)
    3093:  (14:15:05) �[32m[15,744 / 16,169]�[0m 1723 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 347s remote, remote-cache ... (50 actions, 43 running)
    3094:  (14:15:12) �[32m[15,752 / 16,174]�[0m 1726 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 353s remote, remote-cache ... (50 actions, 42 running)
    3095:  (14:15:17) �[32m[15,757 / 16,175]�[0m 1730 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 358s remote, remote-cache ... (50 actions, 41 running)
    3096:  (14:15:23) �[32m[15,761 / 16,175]�[0m 1734 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 364s remote, remote-cache ... (50 actions, 40 running)
    3097:  (14:15:29) �[32m[15,762 / 16,175]�[0m 1735 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 370s remote, remote-cache ... (50 actions, 39 running)
    3098:  (14:15:34) �[32m[15,770 / 16,175]�[0m 1743 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 375s remote, remote-cache ... (50 actions, 36 running)
    3099:  (14:15:39) �[32m[15,772 / 16,175]�[0m 1745 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 381s remote, remote-cache ... (50 actions, 38 running)
    3100:  (14:15:45) �[32m[15,774 / 16,175]�[0m 1747 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 386s remote, remote-cache ... (50 actions, 37 running)
    3101:  (14:15:50) �[32m[15,775 / 16,175]�[0m 1749 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 391s remote, remote-cache ... (50 actions, 38 running)
    3102:  (14:15:55) �[32m[15,776 / 16,175]�[0m 1749 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 397s remote, remote-cache ... (50 actions, 38 running)
    3103:  (14:16:00) �[32m[15,777 / 16,175]�[0m 1750 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 402s remote, remote-cache ... (50 actions, 39 running)
    3104:  (14:16:08) �[32m[15,781 / 16,175]�[0m 1754 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 409s remote, remote-cache ... (50 actions, 43 running)
    3105:  (14:16:13) �[32m[15,783 / 16,175]�[0m 1756 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 414s remote, remote-cache ... (50 actions, 43 running)
    3106:  (14:16:18) �[32m[15,784 / 16,175]�[0m 1757 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 419s remote, remote-cache ... (50 actions, 42 running)
    3107:  (14:16:25) �[32m[15,785 / 16,175]�[0m 1758 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 427s remote, remote-cache ... (50 actions, 42 running)
    3108:  (14:16:31) �[32m[15,785 / 16,175]�[0m 1758 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 432s remote, remote-cache ... (50 actions, 46 running)
    3109:  (14:16:36) �[32m[15,788 / 16,175]�[0m 1761 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 438s remote, remote-cache ... (50 actions, 46 running)
    3110:  (14:16:42) �[32m[15,791 / 16,175]�[0m 1765 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 443s remote, remote-cache ... (50 actions, 45 running)
    3111:  (14:16:48) �[32m[15,798 / 16,175]�[0m 1771 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 449s remote, remote-cache ... (50 actions, 40 running)
    3112:  (14:16:55) �[32m[15,798 / 16,175]�[0m 1771 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 456s remote, remote-cache ... (50 actions, 43 running)
    3113:  (14:17:00) �[32m[15,802 / 16,175]�[0m 1775 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 462s remote, remote-cache ... (50 actions, 41 running)
    3114:  (14:17:06) �[32m[15,803 / 16,175]�[0m 1776 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 467s remote, remote-cache ... (50 actions, 41 running)
    3115:  (14:17:09) �[32mINFO: �[0mFrom Compiling ElementSelectingTest-firefox:
    3116:  dotnet/test/common/ElementSelectingTest.cs(247,20): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3117:  (14:17:11) �[32m[15,814 / 16,181]�[0m 1781 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 472s remote, remote-cache ... (50 actions, 39 running)
    3118:  (14:17:16) �[32m[15,816 / 16,181]�[0m 1783 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 477s remote, remote-cache ... (50 actions, 38 running)
    3119:  (14:17:23) �[32m[15,821 / 16,181]�[0m 1788 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 484s remote, remote-cache ... (50 actions, 37 running)
    3120:  (14:17:29) �[32m[15,824 / 16,181]�[0m 1791 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 490s remote, remote-cache ... (50 actions, 39 running)
    3121:  (14:17:34) �[32m[15,826 / 16,181]�[0m 1793 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 495s remote, remote-cache ... (50 actions, 38 running)
    3122:  (14:17:40) �[32m[15,828 / 16,181]�[0m 1795 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 501s remote, remote-cache ... (50 actions, 38 running)
    3123:  (14:17:45) �[32m[15,831 / 16,181]�[0m 1798 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 507s remote, remote-cache ... (50 actions, 35 running)
    3124:  (14:17:51) �[32m[15,831 / 16,181]�[0m 1798 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 512s remote, remote-cache ... (50 actions, 37 running)
    3125:  (14:17:57) �[32m[15,832 / 16,181]�[0m 1799 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 518s remote, remote-cache ... (50 actions, 38 running)
    3126:  (14:18:02) �[32m[15,834 / 16,181]�[0m 1801 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 524s remote, remote-cache ... (50 actions, 39 running)
    3127:  (14:18:09) �[32m[15,834 / 16,181]�[0m 1801 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/webdriverwait_tests.py; 530s remote, remote-cache ... (50 actions, 39 running)
    3128:  (14:18:14) �[32m[15,836 / 16,181]�[0m 1803 / 2148 tests, �[31m�[1m2 failed�[0m;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/we...

    Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
    Copy link
    Member

    @joerg1985 joerg1985 left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I am not into python, so this is review of the things from the perspective of a java developer.

    @@ -43,6 +43,7 @@
    T = TypeVar("T")

    WebDriverOrWebElement = Union[WebDriver, WebElement]
    attr_get_property = ["value", "checked", "index", "selected"]
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    The "id" should be a property too, otherwise you only read ids defined in html.
    All the .get_dom_attribute("id") calls below should be replaced by get_property("id")

    Comment on lines +491 to +495
    element_attribute = (
    driver.find_element(*locator).get_dom_attribute(attribute_)
    if attribute_ not in attr_get_property
    else driver.find_element(*locator).get_property(attribute_)
    )
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    You might need to translate the names on the caller site if one of PROPERTY_ALIASES (defined in the /attribute.js) is used.
    https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/webdriver/atoms/attribute.js

    @@ -24,53 +24,53 @@
    def test_should_return_null_when_getting_the_value_of_an_attribute_that_is_not_listed(driver, pages):
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I think the tests for get_attribute should stay as long as the method is not removed (there is currently no plan as faur as i can tell). New tests / files for get_dom_attribute and get_property should be added,

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    2 participants