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] Deprecate CDP methods on Firefox #14787

Merged
merged 5 commits into from
Nov 22, 2024
Merged

[py] Deprecate CDP methods on Firefox #14787

merged 5 commits into from
Nov 22, 2024

Conversation

VietND96
Copy link
Member

@VietND96 VietND96 commented Nov 21, 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

This pull request introduces deprecation warnings for CDP (Chrome DevTools Protocol) support in Firefox and updates the corresponding tests. The most important changes include adding a deprecation warning in the webdriver module and ensuring that the tests handle these warnings appropriately.

Deprecation warning for CDP support in Firefox:

Updates to tests to handle deprecation warnings:

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

  • Added a deprecation warning for CDP support in Firefox, advising users to switch to WebDriver BiDi.
  • Updated tests to check for deprecation warnings when using Firefox.
  • Ensured that no warnings are recorded in tests for other browsers.

Changes walkthrough 📝

Relevant files
Enhancement
webdriver.py
Add deprecation warning for CDP in Firefox                             

py/selenium/webdriver/remote/webdriver.py

  • Added a deprecation warning for CDP support in Firefox.
  • Instructed users to switch to WebDriver BiDi.
  • +5/-0     
    Tests
    devtools_tests.py
    Update tests to handle Firefox CDP deprecation                     

    py/test/selenium/webdriver/common/devtools_tests.py

  • Modified test to check for deprecation warning in Firefox.
  • Ensured no warnings are recorded for other browsers.
  • +10/-1   
    firefox_service_tests.py
    Ensure no warnings in Firefox service tests                           

    py/test/selenium/webdriver/firefox/firefox_service_tests.py

    • Added check to ensure no warnings are recorded.
    +3/-1     
    remote_firefox_profile_tests.py
    Ensure no warnings in remote Firefox profile tests             

    py/test/selenium/webdriver/remote/remote_firefox_profile_tests.py

    • Added check to ensure no warnings are recorded.
    +3/-1     

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

    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

    Resource Leak
    The driver variable is used in the finally block before being defined in some code paths if the driver creation fails

    Undefined Variable
    The devtools and connection variables are used after the with block where they are defined, which could lead to undefined variable issues if an exception occurs

    Copy link
    Contributor

    qodo-merge-pro bot commented Nov 21, 2024

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Possible issue
    Fix potential uninitialized variable usage by ensuring proper initialization order

    Move the devtools and connection variables inside the test scope to ensure they are
    properly initialized before use. Currently connection is used before being assigned
    a value.

    py/test/selenium/webdriver/common/devtools_tests.py [24-36]

    +console_api_calls = []
     with pytest.warns(None) as record:
         devtools, connection = driver.start_devtools()
    -console_api_calls = []
    +    if driver.capabilities["browserName"] == "firefox":
    +        assert (
    +            record[0].message.args[0]
    +            == "CDP support for Firefox is deprecated and will be removed in future versions. Please switch to WebDriver BiDi."
    +        )
    +    else:
    +        assert len(record) == 0
    +    connection.execute(devtools.runtime.enable())
     
    -if driver.capabilities["browserName"] == "firefox":
    -    assert (
    -        record[0].message.args[0]
    -        == "CDP support for Firefox is deprecated and will be removed in future versions. Please switch to WebDriver BiDi."
    -    )
    -else:
    -    assert len(record) == 0
    -
    -connection.execute(devtools.runtime.enable())
    -
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: The suggestion correctly identifies a potential bug where 'connection' could be used before being properly initialized if an exception occurs during the warning check. Moving the code inside the context manager ensures proper initialization order and safer error handling.

    8

    💡 Need additional feedback ? start a PR chat

    Copy link
    Contributor

    qodo-merge-pro bot commented Nov 21, 2024

    CI Failure Feedback 🧐

    (Checks updated until commit ef0d787)

    Action: Test / All RBE tests

    Failed stage: Run Bazel [❌]

    Failed test name: NoSuchShadowRootTest-edge

    Failure summary:

    The action failed due to a test failure in the NoSuchShadowRootTest-edge test. The specific issue
    was:

  • The test getNoSuchShadowRoot() in the NoSuchShadowRootTest class expected an exception of type
    NoSuchShadowRootException to be thrown, but no exception was thrown.

  • 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
    ...
    
    1828:  warning: [options] source value 8 is obsolete and will be removed in a future release
    1829:  warning: [options] target value 8 is obsolete and will be removed in a future release
    1830:  warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    1831:  (02:09:41) �[32mINFO: �[0mFrom Building external/protobuf~/java/core/liblite_runtime_only.jar (91 source files) [for tool]:
    1832:  external/protobuf~/java/core/src/main/java/com/google/protobuf/UnsafeUtil.java:293: warning: [removal] AccessController in java.security has been deprecated and marked for removal
    1833:  AccessController.doPrivileged(
    1834:  ^
    1835:  (02:09:44) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):
    1836:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1837:  private final ErrorCodes errorCodes;
    1838:  ^
    1839:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1840:  this.errorCodes = new ErrorCodes();
    1841:  ^
    1842:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1843:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1844:  ^
    1845:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1846:  ErrorCodes errorCodes = new ErrorCodes();
    1847:  ^
    1848:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1849:  ErrorCodes errorCodes = new ErrorCodes();
    1850:  ^
    1851:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1852:  response.setStatus(ErrorCodes.SUCCESS);
    1853:  ^
    1854:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1855:  response.setState(ErrorCodes.SUCCESS_STRING);
    1856:  ^
    1857:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1858:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1859:  ^
    1860:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1861:  new ErrorCodes().getExceptionType((String) rawError);
    1862:  ^
    1863:  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
    1864:  private final ErrorCodes errorCodes = new ErrorCodes();
    1865:  ^
    1866:  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
    1867:  private final ErrorCodes errorCodes = new ErrorCodes();
    1868:  ^
    1869:  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
    1870:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1871:  ^
    1872:  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
    1873:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1874:  ^
    1875:  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
    1876:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1877:  ^
    1878:  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
    1879:  response.setStatus(ErrorCodes.SUCCESS);
    1880:  ^
    1881:  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
    1882:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1883:  ^
    1884:  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
    1885:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1886:  ^
    1887:  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
    1888:  private final ErrorCodes errorCodes = new ErrorCodes();
    1889:  ^
    1890:  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
    1891:  private final ErrorCodes errorCodes = new ErrorCodes();
    1892:  ^
    1893:  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
    1894:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1895:  ^
    1896:  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
    1897:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1898:  ^
    1899:  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
    1900:  response.setStatus(ErrorCodes.SUCCESS);
    ...
    
    1998:  (02:09:51) �[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
    1999:  (02:09:51) �[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
    2000:  (02:09:51) �[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
    2001:  (02:09:51) �[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
    2002:  (02:09:51) �[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
    2003:  (02:09:51) �[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
    2004:  (02:09:51) �[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
    2005:  (02:09:51) �[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
    2006:  (02:09:51) �[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
    ...
    
    2095:  �[32m[8,274 / 9,113]�[0m 133 / 1025 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:listener-edge-bidi; 5s ... (50 actions, 0 running)
    2096:  (02:10:14) �[32mAnalyzing:�[0m 2148 targets (1628 packages loaded, 58910 targets configured)
    2097:  �[32m[8,388 / 10,105]�[0m 177 / 1488 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:virtual_authenticator-chrome ... (49 actions, 2 running)
    2098:  (02:10:19) �[32mAnalyzing:�[0m 2148 targets (1632 packages loaded, 62297 targets configured)
    2099:  �[32m[8,824 / 11,069]�[0m 267 / 1870 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:select-chrome; 1s remote, remote-cache ... (50 actions, 0 running)
    2100:  (02:10:24) �[32mAnalyzing:�[0m 2148 targets (1633 packages loaded, 62324 targets configured)
    2101:  �[32m[9,039 / 11,179]�[0m 354 / 1870 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:zipper-edge; 0s remote, remote-cache ... (49 actions, 1 running)
    2102:  (02:10:28) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
    2103:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2104:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2105:  ^
    2106:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2107:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2108:  ^
    2109:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2110:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
    2111:  ^
    2112:  (02:10:29) �[32mAnalyzing:�[0m 2148 targets (1634 packages loaded, 62575 targets configured)
    2113:  �[32m[10,107 / 11,949]�[0m 459 / 1895 tests;�[0m [Prepa] Testing //rb/spec/unit/selenium/webdriver/common:logger ... (49 actions, 9 running)
    2114:  (02:10:34) �[32mAnalyzing:�[0m 2148 targets (1634 packages loaded, 62593 targets configured)
    2115:  �[32m[11,499 / 12,944]�[0m 563 / 1912 tests;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/visibility_tests.py; 1s remote, remote-cache ... (45 actions, 7 running)
    2116:  (02:10:35) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
    2117:  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
    2118:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
    2119:  ^
    2120:  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
    2121:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);
    2122:  ^
    2123:  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
    2124:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2125:  ^
    2126:  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
    2127:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    ...
    
    2129:  (02:10:39) �[32mAnalyzing:�[0m 2148 targets (1634 packages loaded, 62612 targets configured)
    2130:  �[32m[12,683 / 13,764]�[0m 665 / 1932 tests;�[0m [Prepa] Testing //py:common-firefox-bidi-test/selenium/webdriver/common/web_components_tests.py ... (48 actions, 11 running)
    2131:  (02:10:44) �[32mINFO: �[0mFrom PackageZip javascript/grid-ui/react-zip.jar:
    2132:  /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/'
    2133:  return self._open_to_write(zinfo, force_zip64=force_zip64)
    2134:  (02:10:44) �[32mAnalyzing:�[0m 2148 targets (1634 packages loaded, 62651 targets configured)
    2135:  �[32m[13,096 / 14,017]�[0m 815 / 1971 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/w3c_interaction_tests.py; 0s remote, remote-cache ... (49 actions, 1 running)
    2136:  (02:10:46) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
    2137:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2138:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
    2139:  ^
    2140:  (02:10:48) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2141:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2142:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
    2143:  ^
    2144:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2145:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2146:  ^
    2147:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2148:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2149:  ^
    2150:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2151:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2152:  ^
    2153:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2154:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2155:  ^
    2156:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2157:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
    2158:  ^
    2159:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2160:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2161:  ^
    2162:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2163:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2164:  ^
    2165:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2166:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2167:  ^
    2168:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2169:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
    2170:  ^
    2171:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2172:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
    2173:  ^
    2174:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2175:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
    2176:  ^
    2177:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2178:  ErrorCodes.UNHANDLED_ERROR,
    2179:  ^
    2180:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2181:  ErrorCodes.UNHANDLED_ERROR,
    2182:  ^
    2183:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2184:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2185:  ^
    2186:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2187:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2188:  ^
    2189:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2190:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2191:  ^
    2192:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2193:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2194:  ^
    2195:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2196:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2197:  ^
    2198:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2199:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2200:  ^
    2201:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2202:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2203:  ^
    2204:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2205:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2206:  ^
    2207:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2208:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2209:  ^
    2210:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2211:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
    2212:  ^
    2213:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2214:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2215:  ^
    2216:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2217:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2218:  ^
    2219:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2220:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2221:  ^
    2222:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2223:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2224:  ^
    2225:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2226:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2227:  ^
    2228:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2229:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
    2230:  ^
    2231:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2232:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
    2233:  ^
    2234:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2235:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2236:  ^
    2237:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2238:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
    2239:  ^
    2240:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2241:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2242:  ^
    2243:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2244:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
    2245:  ^
    2246:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2247:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
    2248:  ^
    2249:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2250:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
    2251:  ^
    2252:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2253:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
    2254:  ^
    2255:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2256:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
    2257:  ^
    2258:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2259:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
    2260:  ^
    2261:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2262:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
    2263:  ^
    2264:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2265:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
    2266:  ^
    2267:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2268:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
    2269:  ^
    2270:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2271:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
    2272:  ^
    2273:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2274:  ? ErrorCodes.INVALID_SELECTOR_ERROR
    2275:  ^
    2276:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2277:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
    2278:  ^
    2279:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2280:  response.setState(new ErrorCodes().toState(status));
    2281:  ^
    2282:  (02:10:49) �[32mAnalyzing:�[0m 2148 targets (1634 packages loaded, 62674 targets configured)
    2283:  �[32m[13,392 / 14,276]�[0m 927 / 1992 tests;�[0m [Prepa] Testing //java/test/org/openqa/selenium:WindowTest-edge ... (47 actions, 2 running)
    2284:  (02:10:53) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2285:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2286:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2287:  ^
    2288:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2289:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2290:  ^
    2291:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2292:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2293:  ^
    2294:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2295:  private final ErrorCodes errorCodes = new ErrorCodes();
    2296:  ^
    2297:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2298:  private final ErrorCodes errorCodes = new ErrorCodes();
    2299:  ^
    2300:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2301:  private final ErrorCodes errorCodes = new ErrorCodes();
    2302:  ^
    2303:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2304:  private final ErrorCodes errorCodes = new ErrorCodes();
    ...
    
    2646:  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.'
    2647:  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.'
    2648:  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.'
    2649:  (02:11:18) �[32mINFO: �[0mFrom Compiling WebElementTest-edge:
    2650:  (02:11:18) �[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)
    2651:  ==================== Test output for //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge:
    2652:  Failures: 1
    2653:  1) getNoSuchShadowRoot() (org.openqa.selenium.NoSuchShadowRootTest)
    2654:  java.lang.AssertionError: 
    2655:  Expecting code to raise a throwable.
    2656:  at org.openqa.selenium.NoSuchShadowRootTest.getNoSuchShadowRoot(NoSuchShadowRootTest.java:32)
    2657:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIP4A_x4ojBPoKscpCLv11eU-us6w167kZ16e6UgqHV6HEJ8D
    2658:  ================================================================================
    2659:  ==================== Test output for //java/test/org/openqa/selenium:NoSuchShadowRootTest-edge:
    2660:  Failures: 1
    2661:  1) getNoSuchShadowRoot() (org.openqa.selenium.NoSuchShadowRootTest)
    2662:  java.lang.AssertionError: 
    2663:  Expecting code to raise a throwable.
    2664:  at org.openqa.selenium.NoSuchShadowRootTest.getNoSuchShadowRoot(NoSuchShadowRootTest.java:32)
    2665:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIP4A_x4ojBPoKscpCLv11eU-us6w167kZ16e6UgqHV6HEJ8D
    2666:  ================================================================================
    2667:  �[31m�[1mFAILED: �[0m//java/test/org/openqa/selenium:NoSuchShadowRootTest-edge (Summary)
    ...
    
    2740:  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.'
    2741:  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.'
    2742:  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.'
    2743:  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.'
    2744:  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.'
    2745:  (02:11:20) �[32mAnalyzing:�[0m 2148 targets (1634 packages loaded, 62828 targets configured)
    2746:  dotnet/test/common/ExecutingAsyncJavascriptTest.cs(239,36): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2747:  dotnet/test/common/ExecutingAsyncJavascriptTest.cs(251,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.'
    2748:  �[32m[14,875 / 15,551]�[0m 1397 / 2147 tests, �[31m�[1m1 failed�[0m;�[0m [Prepa] Compiling BiDi/Script/ScriptEventsTest-edge ... (47 actions, 1 running)
    ...
    
    2941:  dotnet/test/common/JavascriptEnabledBrowserTest.cs(131,41): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2942:  dotnet/test/common/JavascriptEnabledBrowserTest.cs(141,37): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2943:  (02:11:24) �[32mINFO: �[0mFrom Compiling PartialLinkTextMatchTest-chrome:
    2944:  dotnet/test/common/PartialLinkTextMatchTest.cs(79,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.'
    2945:  dotnet/test/common/PartialLinkTextMatchTest.cs(90,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.'
    2946:  (02:11:25) �[32mINFO: �[0mFrom Compiling ExecutingAsyncJavascriptTest-firefox:
    2947:  dotnet/test/common/ExecutingAsyncJavascriptTest.cs(239,36): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    2948:  dotnet/test/common/ExecutingAsyncJavascriptTest.cs(251,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.'
    2949:  (02:11:25) �[32m[15,187 / 15,781]�[0m 1487 / 2148 tests, �[31m�[1m1 failed�[0m;�[0m [Prepa] Testing //dotnet/test/common:BiDi/Script/CallFunctionParameterTest-edge ... (49 actions, 1 running)
    ...
    
    3025:  dotnet/test/common/FormHandlingTests.cs(269,28): 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:  dotnet/test/common/FormHandlingTests.cs(281,28): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3027:  dotnet/test/common/FormHandlingTests.cs(291,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.'
    3028:  dotnet/test/common/FormHandlingTests.cs(294,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.'
    3029:  dotnet/test/common/FormHandlingTests.cs(393,28): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3030:  dotnet/test/common/FormHandlingTests.cs(397,21): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3031:  dotnet/test/common/FormHandlingTests.cs(408,28): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3032:  dotnet/test/common/FormHandlingTests.cs(412,21): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3033:  (02:11:30) �[32m[15,543 / 16,024]�[0m 1614 / 2148 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:ShadowRootHandlingTest-edge; 5s remote, remote-cache ... (49 actions, 3 running)
    ...
    
    3094:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(157,35): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3095:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(213,27): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3096:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(238,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.'
    3097:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(256,27): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3098:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(282,27): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3099:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(300,27): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3100:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(309,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.'
    3101:  dotnet/test/common/Interactions/BasicKeyboardInterfaceTest.cs(336,35): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3102:  (02:11:35) �[32m[15,839 / 16,220]�[0m 1735 / 2148 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:ShadowRootHandlingTest-edge; 10s remote, remote-cache ... (50 actions, 2 running)
    ...
    
    3115:  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.'
    3116:  (02:11:37) �[31m�[1mFAIL: �[0m//dotnet/test/common:ShadowRootHandlingTest-chrome (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild-ST-d67017d35e85/testlogs/dotnet/test/common/ShadowRootHandlingTest-chrome/test_attempts/attempt_1.log)
    3117:  (02:11:39) �[32mINFO: �[0mFrom Compiling GetMultipleAttributeTest-edge:
    3118:  dotnet/test/common/GetMultipleAttributeTest.cs(32,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.'
    3119:  dotnet/test/common/GetMultipleAttributeTest.cs(40,37): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3120:  dotnet/test/common/GetMultipleAttributeTest.cs(48,37): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3121:  dotnet/test/common/GetMultipleAttributeTest.cs(56,37): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3122:  dotnet/test/common/GetMultipleAttributeTest.cs(64,37): warning CS0618: 'IWebElement.GetAttribute(string)' is obsolete: 'Use GetDomAttribute(string attributeName) or GetDomProperty(string propertyName). GetAttribute(string attributeName) will be removed in Selenium 6.'
    3123:  (02:11:40) �[32m[16,136 / 16,352]�[0m 1929 / 2148 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:ShadowRootHandlingTest-edge; 15s remote, remote-cache ... (48 actions, 3 running)
    3124:  (02:11:47) �[32m[16,358 / 16,361]�[0m 2145 / 2148 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:ShadowRootHandlingTest-edge; 22s remote, remote-cache ... (3 actions running)
    3125:  (02:11:48) �[31m�[1mFAIL: �[0m//dotnet/test/common:ShadowRootHandlingTest-edge (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild-ST-d67017d35e85/testlogs/dotnet/test/common/ShadowRootHandlingTest-edge/test.log)
    3126:  �[31m�[1mFAILED: �[0m//dotnet/test/common:ShadowRootHandlingTest-edge (Summary)
    ...
    
    3186:  02:11:32.093 TRACE HttpCommandExecutor: >> GET RequestUri: http://localhost:45127/session/20267880dcf951c64db4d3068b14573d/element/f.33C68F306BDB7081838F5C7E842F4784.d.0A0AAE174D1CFF874871C565F0BF7A13.e.9/shadow, Content: null, Headers: 3
    3187:  02:11:32.097 TRACE HttpCommandExecutor: << StatusCode: 200, ReasonPhrase: OK, Content: System.Net.Http.HttpConnectionResponseContent, Headers: 1
    3188:  02:11:32.098 DEBUG HttpCommandExecutor: Response: ( Success: System.Collections.Generic.Dictionary`2[System.String,System.Object])
    3189:  02:11:32.099 DEBUG HttpCommandExecutor: Executing command: [20267880dcf951c64db4d3068b14573d]: findShadowChildElement {"id":"f.33C68F306BDB7081838F5C7E842F4784.d.0A0AAE174D1CFF874871C565F0BF7A13.e.10","using":"css selector","value":"input"}
    3190:  02:11:32.099 TRACE HttpCommandExecutor: >> POST RequestUri: http://localhost:45127/session/20267880dcf951c64db4d3068b14573d/shadow/f.33C68F306BDB7081838F5C7E842F4784.d.0A0AAE174D1CFF874871C565F0BF7A13.e.10/element, Content: System.Net.Http.ByteArrayContent, Headers: 2
    3191:  {"using":"css selector","value":"input"}
    3192:  02:11:32.113 TRACE HttpCommandExecutor: << StatusCode: 200, ReasonPhrase: OK, Content: System.Net.Http.HttpConnectionResponseContent, Headers: 1
    3193:  02:11:32.113 DEBUG HttpCommandExecutor: Response: ( Success: System.Collections.Generic.Dictionary`2[System.String,System.Object])
    3194:  02:11:32.115 DEBUG HttpCommandExecutor: Executing command: [20267880dcf951c64db4d3068b14573d]: executeScript {"script":"/* get-attribute */return (function(){return (function(){var d=this||self;function f(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a};var h=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(\u0022string\u0022===typeof a)return\u0022string\u0022!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var c=0;c\u003Ca.length;c\u002B\u002B)if(c in a\u0026\u0026a[c]===b)return c;return-1},k=Array.prototype.forEach?function(a,b){Array.prototype.forEach.call(a,b,void 0)}:function(a,b){for(var c=a.length,e=\u0022string\u0022===typeof a?a.split(\u0022\u0022):a,g=0;g\u003Cc;g\u002B\u002B)g in e\u0026\u0026b.call(void 0,e[g],g,a)};function l(a,b){this.code=a;this.a=m[a]||n;this.message=b||\u0022\u0022;a=this.a.replace(/((?:^|\\s\u002B)[a-z])/g,function(c){return c.toUpperCase().replace(/^[\\s\\xa0]\u002B/g,\u0022\u0022)});b=a.length-5;if(0\u003Eb||a.indexOf(\u0022Error\u0022,b)!=b)a\u002B=\u0022Error\u0022;this.name=a;a=Error(this.message);a.name=this.name;this.stack=a.stack||\u0022\u0022}f(l,Error);var n=\u0022unknown error\u0022,m={15:\u0022element not selectable\u0022,11:\u0022element not visible\u0022};m[31]=n;m[30]=n;m[24]=\u0022invalid cookie domain\u0022;m[29]=\u0022invalid element coordinates\u0022;m[12]=\u0022invalid element state\u0022;m[32]=\u0022invalid selector\u0022;\nm[51]=\u0022invalid selector\u0022;m[52]=\u0022invalid selector\u0022;m[17]=\u0022javascript error\u0022;m[405]=\u0022unsupported operation\u0022;m[34]=\u0022move target out of bounds\u0022;m[27]=\u0022no such alert\u0022;m[7]=\u0022no such element\u0022;m[8]=\u0022no such frame\u0022;m[23]=\u0022no such window\u0022;m[28]=\u0022script timeout\u0022;m[33]=\u0022session not created\u0022;m[10]=\u0022stale element reference\u0022;m[21]=\u0022timeout\u0022;m[25]=\u0022unable to set cookie\u0022;m[26]=\u0022unexpected alert open\u0022;m[13]=n;m[9]=\u0022unknown command\u0022;var p;a:{var q=d.navigator;if(q){var r=q.userAgent;if(r){p=r;break a}}p=\u0022\u0022}function t(a){return-1!=p.indexOf(a)};function u(){return t(\u0022Firefox\u0022)||t(\u0022FxiOS\u0022)}function v(){return(t(\u0022Chrome\u0022)||t(\u0022CriOS\u0022))\u0026\u0026!t(\u0022Edge\u0022)};function w(){return t(\u0022iPhone\u0022)\u0026\u0026!t(\u0022iPod\u0022)\u0026\u0026!t(\u0022iPad\u0022)};var y=t(\u0022Opera\u0022),z=t(\u0022Trident\u0022)||t(\u0022MSIE\u0022),A=t(\u0022Edge\u0022),B=t(\u0022Gecko\u0022)\u0026\u0026!(-1!=p.toLowerCase().indexOf(\u0022webkit\u0022)\u0026\u0026!t(\u0022Edge\u0022))\u0026\u0026!(t(\u0022Trident\u0022)||t(\u0022MSIE\u0022))\u0026\u0026!t(\u0022Edge\u0022),C=-1!=p.toLowerCase().indexOf(\u0022webkit\u0022)\u0026\u0026!t(\u0022Edge\u0022);function D(){var a=d.document;return a?a.documentMode:void 0}var E;\na:{var F=\u0022\u0022,G=function(){var a=p;if(B)return/rv:([^\\);]\u002B)(\\)|;)/.exec(a);if(A)return/Edge\\/([\\d\\.]\u002B)/.exec(a);if(z)return/\\b(?:MSIE|rv)[: ]([^\\);]\u002B)(\\)|;)/.exec(a);if(C)return/WebKit\\/(\\S\u002B)/.exec(a);if(y)return/(?:Version)[ \\/]?(\\S\u002B)/.exec(a)}();G\u0026\u0026(F=G?G[1]:\u0022\u0022);if(z){var H=D();if(null!=H\u0026\u0026H\u003EparseFloat(F)){E=String(H);break a}}E=F}var I;I=d.document\u0026\u0026z?D():void 0;var J=u(),K=w()||t(\u0022iPod\u0022),L=t(\u0022iPad\u0022),M=t(\u0022Android\u0022)\u0026\u0026!(v()||u()||t(\u0022Opera\u0022)||t(\u0022Silk\u0022)),N=v(),aa=t(\u0022Safari\u0022)\u0026\u0026!(v()||t(\u0022Coast\u0022)||t(\u0022Opera\u0022)||t(\u0022Edge\u0022)||t(\u0022Edg/\u0022)||t(\u0022OPR\u0022)||u()||t(\u0022Silk\u0022)||t(\u0022Android\u0022))\u0026\u0026!(w()||t(\u0022iPad\u0022)||t(\u0022iPod\u0022));function O(a){return(a=a.exec(p))?a[1]:\u0022\u0022}(function(){if(J)return O(/Firefox\\/([0-9.]\u002B)/);if(z||A||y)return E;if(N)return w()||t(\u0022iPad\u0022)||t(\u0022iPod\u0022)?O(/CriOS\\/([0-9.]\u002B)/):O(/Chrome\\/([0-9.]\u002B)/);if(aa\u0026\u0026!(w()||t(\u0022iPad\u0022)||t(\u0022iPod\u0022)))return O(/Version\\/([0-9.]\u002B)/);if(K||L){var a=/Version\\/(\\S\u002B).*Mobile\\/(\\S\u002B)/.exec(p);if(a)return a[1]\u002B\u0022.\u0022\u002Ba[2]}else if(M)return(a=O(/Android\\s\u002B([0-9.]\u002B)/))?a:O(/Version\\/([0-9.]\u002B)/);return\u0022\u0022})();var P=z\u0026\u0026!(8\u003C=Number(I)),ba=z\u0026\u0026!(9\u003C=Number(I));var ca={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},Q={IMG:\u0022 \u0022,BR:\u0022\\n\u0022};function R(a,b,c){if(!(a.nodeName in ca))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\u0022\u0022)):b.push(a.nodeValue);else if(a.nodeName in Q)b.push(Q[a.nodeName]);else for(a=a.firstChild;a;)R(a,b,c),a=a.nextSibling};function S(a,b){b=b.toLowerCase();return\u0022style\u0022==b?da(a.style.cssText):P\u0026\u0026\u0022value\u0022==b\u0026\u0026T(a,\u0022INPUT\u0022)?a.value:ba\u0026\u0026!0===a[b]?String(a.getAttribute(b)):(a=a.getAttributeNode(b))\u0026\u0026a.specified?a.value:null}var ea=/[;]\u002B(?=(?:(?:[^\u0022]*\u0022){2})*[^\u0022]*$)(?=(?:(?:[^\u0027]*\u0027){2})*[^\u0027]*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction da(a){var b=[];k(a.split(ea),function(c){var e=c.indexOf(\u0022:\u0022);0\u003Ce\u0026\u0026(c=[c.slice(0,e),c.slice(e\u002B1)],2==c.length\u0026\u0026b.push(c[0].toLowerCase(),\u0022:\u0022,c[1],\u0022;\u0022))});b=b.join(\u0022\u0022);return b=\u0022;\u0022==b.charAt(b.length-1)?b:b\u002B\u0022;\u0022}function U(a,b){P\u0026\u0026\u0022value\u0022==b\u0026\u0026T(a,\u0022OPTION\u0022)\u0026\u0026null===S(a,\u0022value\u0022)?(b=[],R(a,b,!1),a=b.join(\u0022\u0022)):a=a[b];return a}\nfunction T(a,b){b\u0026\u0026\u0022string\u0022!==typeof b\u0026\u0026(b=b.toString());return a instanceof HTMLFormElement?!!a\u0026\u00261==a.nodeType\u0026\u0026(!b||\u0022FORM\u0022==b):!!a\u0026\u00261==a.nodeType\u0026\u0026(!b||a.tagName.toUpperCase()==b)}function V(a){return T(a,\u0022OPTION\u0022)?!0:T(a,\u0022INPUT\u0022)?(a=a.type.toLowerCase(),\u0022checkbox\u0022==a||\u0022radio\u0022==a):!1};var fa={\u0022class\u0022:\u0022className\u0022,readonly:\u0022readOnly\u0022},ha=\u0022allowfullscreen allowpaymentrequest allowusermedia async autofocus autoplay checked compact complete controls declare default defaultchecked defaultselected defer disabled ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref nomodule noresize noshade novalidate nowrap open paused playsinline pubdate readonly required reversed scoped seamless seeking selected truespeed typemustmatch willvalidate\u0022.split(\u0022 \u0022);function W(a,b){var c=null,e=b.toLowerCase();if(\u0022style\u0022==e)return(c=a.style)\u0026\u0026\u0022string\u0022!=typeof c\u0026\u0026(c=c.cssText),c;if((\u0022selected\u0022==e||\u0022checked\u0022==e)\u0026\u0026V(a)){if(!V(a))throw new l(15,\u0022Element is not selectable\u0022);b=\u0022selected\u0022;c=a.type\u0026\u0026a.type.toLowerCase();if(\u0022checkbox\u0022==c||\u0022radio\u0022==c)b=\u0022checked\u0022;return U(a,b)?\u0022true\u0022:null}var g=T(a,\u0022A\u0022);if(T(a,\u0022IMG\u0022)\u0026\u0026\u0022src\u0022==e||g\u0026\u0026\u0022href\u0022==e)return(c=S(a,e))\u0026\u0026(c=U(a,e)),c;if(\u0022spellcheck\u0022==e){c=S(a,e);if(null!==c){if(\u0022false\u0022==c.toLowerCase())return\u0022false\u0022;if(\u0022true\u0022==c.toLowerCase())return\u0022true\u0022}return U(a,\ne)\u002B\u0022\u0022}g=fa[b]||b;if(0\u003C=h(ha,e))return(c=null!==S(a,b)||U(a,g))?\u0022true\u0022:null;try{var x=U(a,g)}catch(ia){}(e=null==x)||(e=typeof x,e=\u0022object\u0022==e\u0026\u0026null!=x||\u0022function\u0022==e);e?c=S(a,b):c=x;return null!=c?c.toString():null}var X=[\u0022_\u0022],Y=d;X[0]in Y||\u0022undefined\u0022==typeof Y.execScript||Y.execScript(\u0022var \u0022\u002BX[0]);for(var Z;X.length\u0026\u0026(Z=X.shift());)X.length||void 0===W?Y[Z]\u0026\u0026Y[Z]!==Object.prototype[Z]?Y=Y[Z]:Y=Y[Z]={}:Y[Z]=W;; return this._.apply(null,arguments);}).apply({navigator:typeof window!=\u0027undefined\u0027?window.navigator:null,document:typeof window!=\u0027undefined\u0027?window.document:null}, arguments);}\n).apply(null, arguments);","args":[{"element-6066-11e4-a52e-4f735466cecf":"f.33C68F306BDB7081838F5C7E842F4784.d.0A0AAE174D1CFF874871C565F0BF7A13.e.8"},"type"]}
    3195:  02:11:32.116 TRACE HttpCommandExecutor: >> POST RequestUri: http://localhost:45127/session/20267880dcf951c64db4d3068b14573d/execute/sync, Content: System.Net.Http.ByteArrayContent, Headers: 2
    3196:  {"script":"/* get-attribute */return (function(){return (function(){var d=this||self;function f(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a};var h=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(\u0022string\u0022===typeof a)return\u0022string\u0022!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var c=0;c\u003Ca.length;c\u002B\u002B)if(c in a\u0026\u0026a[c]===b)return c;return-1},k=Array.prototype.forEach?function(a,b){Array.prototype.forEach.call(a,b,void 0)}:function(a,b){for(var c=a.length,e=\u0022string\u0022===typeof a?a.split(\u0022\u0022):a,g=0;g\u003Cc;g\u002B\u002B)g in e\u0026\u0026b.call(void 0,e[g],g,a)};function l(a,b){this.code=a;this.a=m[a]||n;this.message=b||\u0022\u0022;a=this.a.replace(/((?:^|\\s\u002B)[a-z])/g,function(c){return c.toUpperCase().replace(/^[\\s\\xa0]\u002B/g,\u0022\u0022)});b=a.length-5;if(0\u003Eb||a.indexOf(\u0022Error\u0022,b)!=b)a\u002B=\u0022Error\u0022;this.name=a;a=Error(this.message);a.name=this.name;this.stack=a.stack||\u0022\u0022}f(l,Error);var n=\u0022unknown error\u0022,m={15:\u0022element not selectable\u0022,11:\u0022element not visible\u0022};m[31]=n;m[30]=n;m[24]=\u0022invalid cookie domain\u0022;m[29]=\u0022invalid element coordinates\u0022;m[12]=\u0022invalid element state\u0022;m[32]=\u0022invalid selector\u0022;\nm[51]=\u0022invalid selector\u0022;m[52]=\u0022invalid selector\u0022;m[17]=\u0022javascript error\u0022;m[405]=\u0022unsupported operation\u0022;m[34]=\u0022move target out of bounds\u0022;m[27]=\u0022no such alert\u0022;m[7]=\u0022no such element\u0022;m[8]=\u0022no such frame\u0022;m[23]=\u0022no such window\u0022;m[28]=\u0022script timeout\u0022;m[33]=\u0022session not created\u0022;m[10]=\u0022stale element reference\u0022;m[21]=\u0022timeout\u0022;m[25]=\u0022unable to set cookie\u0022;m[26]=\u0022unexpected alert open\u0022;m[13]=n;m[9]=\u0022unknown command\u0022;var p;a:{var q=d.navigator;if(q){var r=q.userAgent;if(r){p=r;break a}}p=\u0022\u0022}function t(a){return-1!=p.indexOf(a)};function u(){return t(\u0022Firefox\u0022)||t(\u0022FxiOS\u0022)}function v(){return(t(\u0022Chrome\u0022)||t(\u0022CriOS\u0022))\u0026\u0026!t(\u0022Edge\u0022)};function w(){return t(\u0022iPhone\u0022)\u0026\u0026!t(\u0022iPod\u0022)\u0026\u0026!t(\u0022iPad\u0022)};var y=t(\u0022Opera\u0022),z=t(\u0022Trident\u0022)||t(\u0022MSIE\u0022),A=t(\u0022Edge\u0022),B=t(\u0022Gecko\u0022)\u0026\u0026!(-1!=p.toLowerCase().indexOf(\u0022webkit\u0022)\u0026\u0026!t(\u0022Edge\u0022))\u0026\u0026!(t(\u0022Trident\u0022)||t(\u0022MSIE\u0022))\u0026\u0026!t(\u0022Edge\u0022),C=-1!=p.toLowerCase().indexOf(\u0022webkit\u0022)\u0026\u0026!t(\u0022Edge\u0022);function D(){var a=d.document;return a?a.documentMode:void 0}var E;\na:{var F=\u0022\u0022,G=function(){var a=p;if(B)return/rv:([^\\);]\u002B)(\\)|;)/.exec(a);if(A)return/Edge\\/([\\d\\.]\u002B)/.exec(a);if(z)return/\\b(?:MSIE|rv)[: ]([^\\);]\u002B)(\\)|;)/.exec(a);if(C)return/WebKit\\/(\\S\u002B)/.exec(a);if(y)return/(?:Version)[ \\/]?(\\S\u002B)/.exec(a)}();G\u0026\u0026(F=G?G[1]:\u0022\u0022);if(z){var H=D();if(null!=H\u0026\u0026H\u003EparseFloat(F)){E=String(H);break a}}E=F}var I;I=d.document\u0026\u0026z?D():void 0;var J=u(),K=w()||t(\u0022iPod\u0022),L=t(\u0022iPad\u0022),M=t(\u0022Android\u0022)\u0026\u0026!(v()||u()||t(\u0022Opera\u0022)||t(\u0022Silk\u0022)),N=v(),aa=t(\u0022Safari\u0022)\u0026\u0026!(v()||t(\u0022Coast\u0022)||t(\u0022Opera\u0022)||t(\u0022Edge\u0022)||t(\u0022Edg/\u0022)||t(\u0022OPR\u0022)||u()||t(\u0022Silk\u0022)||t(\u0022Android\u0022))\u0026\u0026!(w()||t(\u0022iPad\u0022)||t(\u0022iPod\u0022));function O(a){return(a=a.exec(p))?a[1]:\u0022\u0022}(function(){if(J)return O(/Firefox\\/([0-9.]\u002B)/);if(z||A||y)return E;if(N)return w()||t(\u0022iPad\u0022)||t(\u0022iPod\u0022)?O(/CriOS\\/([0-9.]\u002B)/):O(/Chrome\\/([0-9.]\u002B)/);if(aa\u0026\u0026!(w()||t(\u0022iPad\u0022)||t(\u0022iPod\u0022)))return O(/Version\\/([0-9.]\u002B)/);if(K||L){var a=/Version\\/(\\S\u002B).*Mobile\\/(\\S\u002B)/.exec(p);if(a)return a[1]\u002B\u0022.\u0022\u002Ba[2]}else if(M)return(a=O(/Android\\s\u002B([0-9.]\u002B)/))?a:O(/Version\\/([0-9.]\u002B)/);return\u0022\u0022})();var P=z\u0026\u0026!(8\u003C=Number(I)),ba=z\u0026\u0026!(9\u003C=Number(I));var ca={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},Q={IMG:\u0022 \u0022,BR:\u0022\\n\u0022};function R(a,b,c){if(!(a.nodeName in ca))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\u0022\u0022)):b.push(a.nodeValue);else if(a.nodeName in Q)b.push(Q[a.nodeName]);else for(a=a.firstChild;a;)R(a,b,c),a=a.nextSibling};function S(a,b){b=b.toLowerCase();return\u0022style\u0022==b?da(a.style.cssText):P\u0026\u0026\u0022value\u0022==b\u0026\u0026T(a,\u0022INPUT\u0022)?a.value:ba\u0026\u0026!0===a[b]?String(a.getAttribute(b)):(a=a.getAttributeNode(b))\u0026\u0026a.specified?a.value:null}var ea=/[;]\u002B(?=(?:(?:[^\u0022]*\u0022){2})*[^\u0022]*$)(?=(?:(?:[^\u0027]*\u0027){2})*[^\u0027]*$)(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/;\nfunction da(a){var b=[];k(a.split(ea),function(c){var e=c.indexOf(\u0022:\u0022);0\u003Ce\u0026\u0026(c=[c.slice(0,e),c.slice(e\u002B1)],2==c.length\u0026\u0026b.push(c[0].toLowerCase(),\u0022:\u0022,c[1],\u0022;\u0022))});b=b.join(\u0022\u0022);return b=\u0022;\u0022==b.charAt(b.length-1)?b:b\u002B\u0022;\u0022}function U(a,b){P\u0026\u0026\u0022value\u0022==b\u0026\u0026T(a,\u0022OPTION\u0022)\u0026\u0026null===S(a,\u0022value\u0022)?(b=[],R(a,b,!1),a=b.join(\u0022\u0022)):a=a[b];return a}\nfunction T(a,b){b\u0026\u0026\u0022string\u0022!==typeof b\u0026\u0026(b=b.toString());return a instanceof HTMLFormElement?!!a\u0026\u00261==a.nodeType\u0026\u0026(!b||\u0022FORM\u0022==b):!!a\u0026\u00261==a.nodeType\u0026\u0026(!b||a.tagName.toUpperCase()==b)}function V(a){return T(a,\u0022OPTION\u0022)?!0:T(a,\u0022INPUT\u0022)?(a=a.type.toLowerCase(),\u0022checkbox\u0022==a||\u0022radio\u0022==a):!1};var fa={\u0022class\u0022:\u0022className\u0022,readonly:\u0022readOnly\u0022},ha=\u0022allowfullscreen allowpaymentrequest allowusermedia async autofocus autoplay checked compact complete controls declare default defaultchecked defaultselected defer disabled ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref nomodule noresize noshade novalidate nowrap open paused playsinline pubdate readonly required reversed scoped seamless seeking selected truespeed typemustmatch willvalidate\u0022.split(\u0022 \u0022);function W(a,b){var c=null,e=b.toLowerCase();if(\u0022style\u0022==e)return(c=a.style)\u0026\u0026\u0022string\u0022!=typeof c\u0026\u0026(c=c.cssText),c;if((\u0022selected\u0022==e||\u0022checked\u0022==e)\u0026\u0026V(a)){if(!V(a))throw new l(15,\u0022Element is not selectable\u0022);b=\u0022selected\u0022;c=a.type\u0026\u0026a.type.toLowerCase();if(\u0022checkbox\u0022==c||\u0022radio\u0022==c)b=\u0022checked\u0022;return U(a,b)?\u0022true\u0022:null}var g=T(a,\u0022A\u0022);if(T(a,\u0022IMG\u0022)\u0026\u0026\u0022src\u0022==e||g\u0026\u0026\u0022href\u0022==e)return(c=S(a,e))\u0026\u0026(c=U(a,e)),c;if(\u0022spellcheck\u0022==e){c=S(a,e);if(null!==c){if(\u0022false\u0022==c.toLowerCase())return\u0022false\u0022;if(\u0022true\u0022==c.toLowerCase())return\u0022true\u0022}return U(a,\ne)\u002B\u0022\u0022}g=fa[b]||b;if(0\u003C=h(ha,e))return(c=null!==S(a,b)||U(a,g))?\u0022true\u0022:null;try{var x=U(a,g)}catch(ia){}(e=null==x)||(e=typeof x,e=\u0022object\u0022==e\u0026\u0026null!=x||\u0022function\u0022==e);e?c=S(a,b):c=x;return null!=c?c.toString():null}var X=[\u0022_\u0022],Y=d;X[0]in Y||\u0022undefined\u0022==typeof Y.execScript||Y.execScript(\u0022var \u0022\u002BX[0]);for(var Z;X.length\u0026\u0026(Z=X.shift());)X.length||void 0===W?Y[Z]\u0026\u0026Y[Z]!==Object.prototype[Z]?Y=Y[Z]:Y=Y[Z]={}:Y[Z]=W;; return this._.apply(null,arguments);}).apply({navigator:typeof window!=\u0027undefined\u0027?window.navigator:null,document:typeof window!=\u0027undefined\u0027?window.document:null}, arguments);}\n).apply(null, arguments);","args":[{"element-6066-11e4-a52e-4f735466cecf":"f.33C68F306BDB7081838F5C7E842F4784.d.0A0AAE174D1CFF874871C565F0BF7A13.e.8"},"type"]}
    ...
    
    3245:  => OpenQA.Selenium.ShadowRootHandlingTest
    3246:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    3247:  => OpenQA.Selenium.AssemblyFixture
    3248:  02:11:32.540 DEBUG HttpCommandExecutor: Executing command: [20267880dcf951c64db4d3068b14573d]: quit {}
    3249:  02:11:32.540 TRACE HttpCommandExecutor: >> DELETE RequestUri: http://localhost:45127/session/20267880dcf951c64db4d3068b14573d, Content: null, Headers: 2
    3250:  02:11:32.594 TRACE HttpCommandExecutor: << StatusCode: 200, ReasonPhrase: OK, Content: System.Net.Http.HttpConnectionResponseContent, Headers: 1
    3251:  02:11:32.595 DEBUG HttpCommandExecutor: Response: ( Success: )
    3252:  Standalone jar is /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild-ST-d67017d35e85/bin/dotnet/test/common/ShadowRootHandlingTest-edge/net8.0/WebDriver.Common.Tests.dll.sh.runfiles/_main/java/test/org/openqa/selenium/environment/appserver 40981
    3253:  Errors, Failures and Warnings
    3254:  1) Failed : OpenQA.Selenium.ShadowRootHandlingTest.ShouldThrowGettingShadowRootWithElementNotHavingShadowRoot
    3255:  Expected: instance of <OpenQA.Selenium.NoSuchShadowRootException>
    3256:  But was:  no exception thrown
    3257:  at OpenQA.Selenium.ShadowRootHandlingTest.ShouldThrowGettingShadowRootWithElementNotHavingShadowRoot()
    3258:  Run Settings
    3259:  Number of Test Workers: 2
    3260:  Work Directory: /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild-ST-d67017d35e85/bin/dotnet/test/common/ShadowRootHandlingTest-edge/net8.0/WebDriver.Common.Tests.dll.sh.runfiles/_main
    3261:  Internal Trace: Off
    3262:  Test Run Summary
    3263:  Overall result: Failed
    3264:  Test Count: 5, Passed: 4, Failed: 1, Warnings: 0, Inconclusive: 0, Skipped: 0
    3265:  Failed Tests - Failures: 1, Errors: 0, Invalid: 0
    ...
    
    3328:  02:11:45.119 TRACE HttpCommandExecutor: >> GET RequestUri: http://localhost:44455/session/7a78e44d74fcabe25cb4679b31a67181/element/f.AF28756572186BED87012745EE5F0649.d.084AC3870DA6A4BFDF13C489362A13B3.e.9/shadow, Content: null, Headers: 3
    3329:  02:11:45.125 TRACE HttpCommandExecutor: << StatusCode: 200, ReasonPhrase: OK, Content: System.Net.Http.HttpConnectionResponseContent, Headers: 1
    3330:  02:11:45.126 DEBUG HttpCommandExecutor: Response: ( Success: System.Collections.Generic.Dictionary`2[System.String,System....

    Signed-off-by: Viet Nguyen Duc <[email protected]>
    @VietND96 VietND96 force-pushed the cdp-firefox branch 2 times, most recently from 1b2bb39 to 43c569b Compare November 21, 2024 23:04
    Copy link

    codecov bot commented Nov 21, 2024

    Codecov Report

    Attention: Patch coverage is 20.00000% with 4 lines in your changes missing coverage. Please review.

    Project coverage is 59.21%. Comparing base (b1828bf) to head (ef0d787).
    Report is 3 commits behind head on trunk.

    Files with missing lines Patch % Lines
    py/selenium/webdriver/remote/webdriver.py 20.00% 4 Missing ⚠️
    Additional details and impacted files
    @@            Coverage Diff             @@
    ##            trunk   #14787      +/-   ##
    ==========================================
    - Coverage   59.24%   59.21%   -0.04%     
    ==========================================
      Files          94       94              
      Lines        6004     6009       +5     
      Branches      268      268              
    ==========================================
    + Hits         3557     3558       +1     
    - Misses       2179     2183       +4     
      Partials      268      268              

    ☔ View full report in Codecov by Sentry.
    📢 Have feedback on the report? Share it here.


    🚨 Try these New Features:

    Signed-off-by: Viet Nguyen Duc <[email protected]>
    @VietND96 VietND96 merged commit e2e9ac5 into trunk Nov 22, 2024
    16 of 19 checks passed
    @VietND96 VietND96 deleted the cdp-firefox branch November 22, 2024 03:42
    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