Skip to content

Conversation

@bonigarcia
Copy link
Member

@bonigarcia bonigarcia commented Aug 27, 2024

User description

Description

This PR implements a couple of new arguments in Selenium Manager:

  • --skip_driver_in_path: For not using the drivers found in the PATH.
  • --skip_browser_in_path: For not using the browsers found in the PATH.

As usual, these arguments can be enabled using the config file or environment variables (e.g., SE_SKIP_DRIVER_IN_PATH=true).

The following executions showcase its use:

Usual execution with (incompatible) driver in path:

./selenium-manager --browser chrome --debug
[2024-08-27T16:05:36.036Z DEBUG] Found chromedriver 107.0.5304.62 in PATH: C:\Users\boni\Documents\bat\chromedriver.exe
[2024-08-27T16:05:36.037Z DEBUG] chrome detected at C:\Program Files\Google\Chrome\Application\chrome.exe
[2024-08-27T16:05:36.038Z DEBUG] Running command: wmic datafile where name='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' get Version /value
[2024-08-27T16:05:36.111Z DEBUG] Output: "\r\r\n\r\r\nVersion=128.0.6613.84\r\r\n\r\r\n\r\r\n\r"
[2024-08-27T16:05:36.116Z DEBUG] Detected browser: chrome 128.0.6613.84
[2024-08-27T16:05:36.119Z DEBUG] Required driver: chromedriver 128.0.6613.84
[2024-08-27T16:05:36.119Z WARN ] The chromedriver version (107.0.5304.62) detected in PATH at C:\Users\boni\Documents\bat\chromedriver.exe might not be compatible with the detected chrome version (128.0.6613.84); currently, chromedriver 128.0.6613.84 is recommended for chrome 128.*, so it is advised to delete the driver in PATH and retry
[2024-08-27T16:05:36.120Z INFO ] Driver path: C:\Users\boni\Documents\bat\chromedriver.exe
[2024-08-27T16:05:36.121Z INFO ] Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe

Same execution with (incompatible) driver in the path but using --skip_driver_in_path:

./selenium-manager --browser chrome --debug --skip-driver-in-path
[2024-08-27T16:05:51.519Z DEBUG] Found chromedriver 107.0.5304.62 in PATH: C:\Users\boni\Documents\bat\chromedriver.exe
[2024-08-27T16:05:51.520Z DEBUG] chrome detected at C:\Program Files\Google\Chrome\Application\chrome.exe
[2024-08-27T16:05:51.521Z DEBUG] Running command: wmic datafile where name='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' get Version /value
[2024-08-27T16:05:51.593Z DEBUG] Output: "\r\r\n\r\r\nVersion=128.0.6613.84\r\r\n\r\r\n\r\r\n\r"
[2024-08-27T16:05:51.598Z DEBUG] Detected browser: chrome 128.0.6613.84
[2024-08-27T16:05:51.601Z DEBUG] Required driver: chromedriver 128.0.6613.84
[2024-08-27T16:05:51.601Z DEBUG] Skipping chromedriver in path: C:\Users\boni\Documents\bat\chromedriver.exe
[2024-08-27T16:05:51.602Z DEBUG] chromedriver 128.0.6613.84 already in the cache
[2024-08-27T16:05:51.603Z INFO ] Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\128.0.6613.84\chromedriver.exe
[2024-08-27T16:05:51.603Z INFO ] Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe

Motivation and Context

It implements #12985. It reuses the code from #12960.

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


Description

  • Introduced new CLI arguments --skip_driver_in_path and --skip_browser_in_path to allow users to skip using drivers and browsers found in the PATH.
  • Updated ManagerConfig to include new boolean fields for skipping drivers and browsers in the PATH.
  • Implemented logic in Selenium Manager to respect the new skipping options, adjusting driver and browser path handling accordingly.
  • Enhanced the main application to parse and apply the new CLI options.

Changes walkthrough 📝

Relevant files
Enhancement
config.rs
Add skip driver and browser in path options to ManagerConfig

rust/src/config.rs

  • Added skip_driver_in_path and skip_browser_in_path boolean fields to
    ManagerConfig.
  • Updated ManagerConfig implementation to include new fields.
  • +4/-0     
    lib.rs
    Implement logic to skip drivers and browsers in PATH         

    rust/src/lib.rs

  • Implemented logic to skip drivers and browsers in PATH if specified.
  • Added methods to check and set skipping options for drivers and
    browsers.
  • Adjusted existing logic to incorporate new skipping options.
  • +60/-22 
    main.rs
    Add CLI options to skip drivers and browsers in PATH         

    rust/src/main.rs

  • Added CLI options for skip_driver_in_path and skip_browser_in_path.
  • Integrated new CLI options with Selenium Manager configuration.
  • +10/-0   

    💡 PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    @bonigarcia bonigarcia added the C-rust Rust code is mostly Selenium Manager label Aug 27, 2024
    @bonigarcia bonigarcia added this to the 4.24 milestone Aug 27, 2024
    @qodo-code-review
    Copy link
    Contributor

    PR Reviewer Guide 🔍

    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Key issues to review

    Code Duplication
    The code for skipping driver and browser in path is very similar. Consider refactoring to reduce duplication.

    Error Handling
    The get_major_version function call on line 778 might return an error, but it's not being handled properly.

    @qodo-code-review
    Copy link
    Contributor

    PR Code Suggestions ✨

    CategorySuggestion                                                                                                                                    Score
    Maintainability
    Extract common logic for skipping browser/driver in path to a separate function

    Consider extracting the common logic for skipping browser/driver in path into a
    separate function to reduce code duplication and improve maintainability.

    rust/src/lib.rs [389-398]

    -if self.is_skip_browser_in_path() {
    -    self.get_logger().debug(format!(
    -        "Skipping {} in path: {}",
    -        self.get_browser_name(),
    -        path.display()
    -    ));
    -    return None;
    -} else {
    -    self.set_browser_path(path_to_string(path));
    -}
    +self.handle_skip_in_path(self.is_skip_browser_in_path(), self.get_browser_name(), path, |p| self.set_browser_path(path_to_string(p)))
     
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: This suggestion effectively reduces code duplication and improves maintainability by extracting common logic into a separate function, which is a good practice for cleaner and more maintainable code.

    8
    Best practice
    Use if let pattern for safer and more concise Option handling

    Consider using the if let pattern instead of unwrapping to handle the Option more
    safely and concisely.

    rust/src/lib.rs [767-768]

    -if use_driver_in_path {
    -    let path = driver_in_path.unwrap();
    +if let Some(path) = driver_in_path {
     
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: This suggestion enhances code safety and conciseness by using the if let pattern, which is a best practice for handling Option types in Rust, reducing the risk of runtime panics from unwrapping.

    7
    Use a constant for string literals to improve maintainability

    Consider using a constant for the string "clear-cache" to improve maintainability
    and reduce the risk of typos.

    rust/src/lib.rs [232]

    -if cli.clear_cache || BooleanKey("clear-cache", false).get_value() {
    +const CLEAR_CACHE_KEY: &str = "clear-cache";
    +if cli.clear_cache || BooleanKey(CLEAR_CACHE_KEY, false).get_value() {
     
    • Apply this suggestion
    Suggestion importance[1-10]: 6

    Why: Using a constant for string literals can improve maintainability and reduce the risk of typos, but the improvement is relatively minor as it affects only a single instance in the code.

    6
    Use a more descriptive variable name for better code readability

    Consider using a more descriptive variable name instead of use_driver_in_path to
    improve code readability.

    rust/src/lib.rs [767-768]

    -if use_driver_in_path {
    +if should_use_driver_in_path {
         let path = driver_in_path.unwrap();
     
    • Apply this suggestion
    Suggestion importance[1-10]: 5

    Why: While using a more descriptive variable name can improve readability, the impact is minor as the original name is still somewhat descriptive. This suggestion is helpful but not crucial.

    5

    @qodo-code-review
    Copy link
    Contributor

    qodo-code-review bot commented Aug 27, 2024

    CI Failure Feedback 🧐

    (Checks updated until commit e289487)

    Action: Test / All RBE tests

    Failed stage: Run Bazel [❌]

    Failed test name: BrowsingContextInspectorTest

    Failure summary:

    The action failed because the test BrowsingContextInspectorTest in the
    org.openqa.selenium.bidi.browsingcontext package failed. The specific issue was with the method
    canListenToNavigationStartedEvent(), which threw an AssertionError. The test expected the output to
    contain the string "/bidi/logEntryAdded.html", but the actual output was an empty string.

    Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    969:  Package 'php-symfony-debug-bundle' is not installed, so not removed
    970:  Package 'php-symfony-dependency-injection' is not installed, so not removed
    971:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
    972:  Package 'php-symfony-discord-notifier' is not installed, so not removed
    973:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
    974:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
    975:  Package 'php-symfony-dom-crawler' is not installed, so not removed
    976:  Package 'php-symfony-dotenv' is not installed, so not removed
    977:  Package 'php-symfony-error-handler' is not installed, so not removed
    ...
    
    1816:  Build Script Warning:       |                   ^~~~~~
    1817:  (08:42:37) �[32mAnalyzing:�[0m 2076 targets (1595 packages loaded, 56657 targets configured)
    1818:  �[32m[2,044 / 2,046]�[0m 76 / 77 tests;�[0m Testing //java/test/org/openqa/selenium/events:ZeroMqLocalhostTest; 1s remote, remote-cache ... (2 actions, 0 running)
    1819:  (08:42:40) �[32mINFO: �[0mFrom Building external/protobuf~/java/core/liblite_runtime_only.jar (91 source files) [for tool]:
    1820:  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
    1821:  AccessController.doPrivileged(
    1822:  ^
    1823:  (08:42:42) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):
    1824:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1825:  private final ErrorCodes errorCodes;
    1826:  ^
    1827:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1828:  this.errorCodes = new ErrorCodes();
    1829:  ^
    1830:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1831:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1832:  ^
    1833:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1834:  ErrorCodes errorCodes = new ErrorCodes();
    1835:  ^
    1836:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1837:  ErrorCodes errorCodes = new ErrorCodes();
    1838:  ^
    1839:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1840:  response.setStatus(ErrorCodes.SUCCESS);
    1841:  ^
    1842:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1843:  response.setState(ErrorCodes.SUCCESS_STRING);
    1844:  ^
    1845:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1846:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1847:  ^
    1848:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1849:  new ErrorCodes().getExceptionType((String) rawError);
    1850:  ^
    1851:  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
    1852:  private final ErrorCodes errorCodes = new ErrorCodes();
    1853:  ^
    1854:  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
    1855:  private final ErrorCodes errorCodes = new ErrorCodes();
    1856:  ^
    1857:  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
    1858:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1859:  ^
    1860:  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
    1861:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1862:  ^
    1863:  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
    1864:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1865:  ^
    1866:  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
    1867:  response.setStatus(ErrorCodes.SUCCESS);
    1868:  ^
    1869:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:125: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1870:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1871:  ^
    1872:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:131: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1873:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1874:  ^
    1875:  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
    1876:  private final ErrorCodes errorCodes = new ErrorCodes();
    1877:  ^
    1878:  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
    1879:  private final ErrorCodes errorCodes = new ErrorCodes();
    1880:  ^
    1881:  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
    1882:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1883:  ^
    1884:  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
    1885:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1886:  ^
    1887:  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
    1888:  response.setStatus(ErrorCodes.SUCCESS);
    ...
    
    1985:  (08:42:47) �[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
    1986:  (08:42:47) �[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
    1987:  (08:42:47) �[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
    1988:  (08:42:47) �[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
    1989:  (08:42:47) �[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
    1990:  (08:42:47) �[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
    1991:  (08:42:47) �[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
    1992:  (08:42:47) �[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
    1993:  (08:42:47) �[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
    ...
    
    2096:  (08:43:28) �[32mAnalyzing:�[0m 2076 targets (1633 packages loaded, 66561 targets configured)
    2097:  �[32m[13,127 / 15,644]�[0m 154 / 2030 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:select-chrome; 0s remote, remote-cache ... (50 actions, 0 running)
    2098:  (08:43:33) �[32mAnalyzing:�[0m 2076 targets (1633 packages loaded, 66592 targets configured)
    2099:  �[32m[13,322 / 15,743]�[0m 224 / 2061 tests;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/children_finding_tests.py; 0s remote, remote-cache ... (49 actions, 0 running)
    2100:  (08:43:35) �[32mINFO: �[0mAnalyzed 2076 targets (1633 packages loaded, 66606 targets configured).
    2101:  (08:43:38) �[32m[13,608 / 15,867]�[0m 366 / 2076 tests;�[0m Testing //py:common-edge-test/selenium/webdriver/common/form_handling_tests.py; 0s remote, remote-cache ... (50 actions, 2 running)
    2102:  (08:43:43) �[32m[14,184 / 16,256]�[0m 523 / 2076 tests;�[0m Testing //javascript/node/selenium-webdriver:test-lib-form-submit-test.js-chrome; 0s remote, remote-cache ... (49 actions, 1 running)
    2103:  (08:43:43) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
    2104:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2105:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
    2106:  ^
    2107:  (08:43:44) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
    2108:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2109:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2110:  ^
    2111:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2112:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2113:  ^
    2114:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2115:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
    2116:  ^
    2117:  (08:43:44) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
    2118:  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
    2119:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
    2120:  ^
    2121:  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
    2122:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);
    2123:  ^
    2124:  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
    2125:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2126:  ^
    2127:  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
    2128:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2129:  ^
    2130:  (08:43:44) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2131:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2132:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
    2133:  ^
    2134:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2135:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2136:  ^
    2137:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2138:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2139:  ^
    2140:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2141:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2142:  ^
    2143:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2144:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2145:  ^
    2146:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2147:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
    2148:  ^
    2149:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2150:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2151:  ^
    2152:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2153:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2154:  ^
    2155:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2156:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2157:  ^
    2158:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2159:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
    2160:  ^
    2161:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2162:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
    2163:  ^
    2164:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2165:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
    2166:  ^
    2167:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2168:  ErrorCodes.UNHANDLED_ERROR,
    2169:  ^
    2170:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2171:  ErrorCodes.UNHANDLED_ERROR,
    2172:  ^
    2173:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2174:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2175:  ^
    2176:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2177:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2178:  ^
    2179:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2180:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2181:  ^
    2182:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2183:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2184:  ^
    2185:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2186:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2187:  ^
    2188:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2189:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2190:  ^
    2191:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2192:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2193:  ^
    2194:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2195:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2196:  ^
    2197:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2198:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2199:  ^
    2200:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2201:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
    2202:  ^
    2203:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2204:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2205:  ^
    2206:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2207:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2208:  ^
    2209:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2210:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2211:  ^
    2212:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2213:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2214:  ^
    2215:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2216:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2217:  ^
    2218:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2219:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
    2220:  ^
    2221:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2222:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
    2223:  ^
    2224:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2225:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2226:  ^
    2227:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2228:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
    2229:  ^
    2230:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2231:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2232:  ^
    2233:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2234:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
    2235:  ^
    2236:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2237:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
    2238:  ^
    2239:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2240:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
    2241:  ^
    2242:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2243:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
    2244:  ^
    2245:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2246:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
    2247:  ^
    2248:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2249:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
    2250:  ^
    2251:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2252:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
    2253:  ^
    2254:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2255:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
    2256:  ^
    2257:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2258:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
    2259:  ^
    2260:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2261:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
    2262:  ^
    2263:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2264:  ? ErrorCodes.INVALID_SELECTOR_ERROR
    2265:  ^
    2266:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2267:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
    2268:  ^
    2269:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2270:  response.setState(new ErrorCodes().toState(status));
    2271:  ^
    2272:  (08:43:45) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2273:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2274:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2275:  ^
    2276:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2277:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2278:  ^
    2279:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2280:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2281:  ^
    2282:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2283:  private final ErrorCodes errorCodes = new ErrorCodes();
    2284:  ^
    2285:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2286:  private final ErrorCodes errorCodes = new ErrorCodes();
    2287:  ^
    2288:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2289:  private final ErrorCodes errorCodes = new ErrorCodes();
    2290:  ^
    2291:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2292:  private final ErrorCodes errorCodes = new ErrorCodes();
    ...
    
    2313:  ^
    2314:  java/test/org/openqa/selenium/remote/http/FormEncodedDataTest.java:101: warning: [removal] FormEncodedData in org.openqa.selenium.remote.http has been deprecated and marked for removal
    2315:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
    2316:  ^
    2317:  java/test/org/openqa/selenium/remote/http/FormEncodedDataTest.java:113: warning: [removal] FormEncodedData in org.openqa.selenium.remote.http has been deprecated and marked for removal
    2318:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
    2319:  ^
    2320:  (08:43:51) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):
    2321:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2322:  private final ErrorCodes errorCodes;
    2323:  ^
    2324:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2325:  this.errorCodes = new ErrorCodes();
    2326:  ^
    2327:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2328:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    2329:  ^
    2330:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2331:  ErrorCodes errorCodes = new ErrorCodes();
    2332:  ^
    2333:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2334:  ErrorCodes errorCodes = new ErrorCodes();
    2335:  ^
    2336:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2337:  response.setStatus(ErrorCodes.SUCCESS);
    2338:  ^
    2339:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2340:  response.setState(ErrorCodes.SUCCESS_STRING);
    2341:  ^
    2342:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2343:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    2344:  ^
    2345:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2346:  new ErrorCodes().getExceptionType((String) rawError);
    2347:  ^
    2348:  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
    2349:  private final ErrorCodes errorCodes = new ErrorCodes();
    2350:  ^
    2351:  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
    2352:  private final ErrorCodes errorCodes = new ErrorCodes();
    2353:  ^
    2354:  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
    2355:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    2356:  ^
    2357:  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
    2358:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    2359:  ^
    2360:  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
    2361:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    2362:  ^
    2363:  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
    2364:  response.setStatus(ErrorCodes.SUCCESS);
    2365:  ^
    2366:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:125: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2367:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    2368:  ^
    2369:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:131: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2370:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    2371:  ^
    2372:  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
    2373:  private final ErrorCodes errorCodes = new ErrorCodes();
    2374:  ^
    2375:  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
    2376:  private final ErrorCodes errorCodes = new ErrorCodes();
    2377:  ^
    2378:  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
    2379:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    2380:  ^
    2381:  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
    2382:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    2383:  ^
    2384:  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
    2385:  response.setStatus(ErrorCodes.SUCCESS);
    ...
    
    2417:  (08:46:17) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome-remote (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome-remote/test_attempts/attempt_1.log)
    2418:  (08:46:18) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge/test_attempts/attempt_1.log)
    2419:  (08:46:23) �[32m[18,049 / 18,053]�[0m 2072 / 2076 tests;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome; 127s remote, remote-cache ... (4 actions running)
    2420:  (08:46:39) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge-remote (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge-remote/test_attempts/attempt_1.log)
    2421:  (08:46:39) �[32m[18,049 / 18,053]�[0m 2072 / 2076 tests;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome; 143s remote, remote-cache ... (4 actions running)
    2422:  (08:46:48) �[32m[18,049 / 18,053]�[0m 2072 / 2076 tests;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome; 152s remote, remote-cache ... (4 actions running)
    2423:  (08:47:15) �[32m[18,049 / 18,053]�[0m 2072 / 2076 tests;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome; 179s remote, remote-cache ... (4 actions running)
    2424:  (08:47:31) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome/test.log)
    2425:  �[31m�[1mFAILED: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome (Summary)
    2426:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome/test.log
    2427:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome/test_attempts/attempt_1.log
    2428:  (08:47:31) �[32mINFO: �[0mFrom Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome:
    2429:  ==================== Test output for //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome:
    2430:  Failures: 1
    2431:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2432:  java.lang.AssertionError: 
    ...
    
    2435:  to contain:
    2436:  "/bidi/logEntryAdded.html" 
    2437:  at org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest.canListenToNavigationStartedEvent(BrowsingContextInspectorTest.java:152)
    2438:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIELBAwLei4L195PJBFKUJjK5RLclIOPR2GcIflED-pJMEJ8D
    2439:  ================================================================================
    2440:  ==================== Test output for //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome:
    2441:  Failures: 1
    2442:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2443:  java.lang.AssertionError: 
    2444:  Expecting actual:
    2445:  ""
    2446:  to contain:
    2447:  "/bidi/logEntryAdded.html" 
    2448:  at org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest.canListenToNavigationStartedEvent(BrowsingContextInspectorTest.java:152)
    2449:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIELBAwLei4L195PJBFKUJjK5RLclIOPR2GcIflED-pJMEJ8D
    2450:  ================================================================================
    2451:  (08:47:33) �[32m[18,050 / 18,053]�[0m 2073 / 2076 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome-remote; 197s remote, remote-cache ... (3 actions running)
    2452:  (08:47:42) �[32m[18,050 / 18,053]�[0m 2073 / 2076 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome-remote; 206s remote, remote-cache ... (3 actions running)
    2453:  (08:47:58) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome-remote (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome-remote/test.log)
    2454:  �[31m�[1mFAILED: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome-remote (Summary)
    ...
    
    2558:  Caps: Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 127.0.6533.88, chrome: {chromedriverVersion: 127.0.6533.88 (a2d0cb026721..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:43081}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:10948/sessio..., se:cdpVersion: 127.0.6533.88, se:gridWebSocketUrl: ws://localhost:30055/sessio..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:10948/sessio..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2559:  08:46:08.923 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:43081/devtools/browser/63e294e6-f9d1-4fff-9fa0-c10bd9615542
    2560:  08:46:08.972 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:30055/session/e5389461968c6b885a6e3b56273f813e
    2561:  08:46:10.068 INFO [LocalSessionMap.remove] - Deleted session from local Session Map, Id: e5389461968c6b885a6e3b56273f813e
    2562:  08:46:10.069 INFO [GridModel.release] - Releasing slot for session id e5389461968c6b885a6e3b56273f813e
    2563:  08:46:10.071 INFO [SessionSlot.stop] - Stopping session e5389461968c6b885a6e3b56273f813e
    2564:  Failures: 1
    2565:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2566:  java.lang.AssertionError: 
    ...
    
    2674:  Caps: Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 127.0.6533.88, chrome: {chromedriverVersion: 127.0.6533.88 (a2d0cb026721..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:42351}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:11203/sessio..., se:cdpVersion: 127.0.6533.88, se:gridWebSocketUrl: ws://localhost:8644/session..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:11203/sessio..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2675:  08:47:50.053 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:42351/devtools/browser/7eb6dbb4-bf87-4754-bbc6-23550dc6ed1a
    2676:  08:47:50.107 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:8644/session/3d5712c384d5f6af7aa0a4b6958bab55
    2677:  08:47:51.207 INFO [LocalSessionMap.remove] - Deleted session from local Session Map, Id: 3d5712c384d5f6af7aa0a4b6958bab55
    2678:  08:47:51.207 INFO [GridModel.release] - Releasing slot for session id 3d5712c384d5f6af7aa0a4b6958bab55
    2679:  08:47:51.207 INFO [SessionSlot.stop] - Stopping session 3d5712c384d5f6af7aa0a4b6958bab55
    2680:  Failures: 1
    2681:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2682:  java.lang.AssertionError: 
    2683:  Expecting actual:
    2684:  ""
    2685:  to contain:
    2686:  "/bidi/logEntryAdded.html" 
    2687:  at org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest.canListenToNavigationStartedEvent(BrowsingContextInspectorTest.java:152)
    2688:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKII3F-uDKamjFu3Ddm_s3qodiM7ScZJ1yCSA1VwEQ2y44EJ8D
    2689:  ================================================================================
    2690:  (08:48:03) �[32m[18,051 / 18,053]�[0m 2074 / 2076 tests, �[31m�[1m2 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge; 224s remote, remote-cache ... (2 actions running)
    2691:  (08:48:09) �[32m[18,051 / 18,053]�[0m 2074 / 2076 tests, �[31m�[1m2 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge; 231s remote, remote-cache ... (2 actions running)
    2692:  (08:48:14) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge/test.log)
    2693:  �[31m�[1mFAILED: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge (Summary)
    2694:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge/test.log
    2695:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge/test_attempts/attempt_1.log
    2696:  (08:48:14) �[32mINFO: �[0mFrom Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge:
    2697:  ==================== Test output for //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge:
    2698:  Failures: 1
    2699:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2700:  java.lang.AssertionError: 
    ...
    
    2703:  to contain:
    2704:  "/bidi/logEntryAdded.html" 
    2705:  at org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest.canListenToNavigationStartedEvent(BrowsingContextInspectorTest.java:152)
    2706:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIOdoRc6KutJD0e7bsGb2B23sDHX1hIfA2iFlHui0OuNeEJ8D
    2707:  ================================================================================
    2708:  ==================== Test output for //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge:
    2709:  Failures: 1
    2710:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2711:  java.lang.AssertionError: 
    2712:  Expecting actual:
    2713:  ""
    2714:  to contain:
    2715:  "/bidi/logEntryAdded.html" 
    2716:  at org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest.canListenToNavigationStartedEvent(BrowsingContextInspectorTest.java:152)
    2717:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIOdoRc6KutJD0e7bsGb2B23sDHX1hIfA2iFlHui0OuNeEJ8D
    2718:  ================================================================================
    2719:  (08:48:18) �[32m[18,052 / 18,053]�[0m 2075 / 2076 tests, �[31m�[1m3 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge-remote; 239s remote, remote-cache
    2720:  (08:48:25) �[32m[18,052 / 18,053]�[0m 2075 / 2076 tests, �[31m�[1m3 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge-remote; 247s remote, remote-cache
    2721:  (08:48:40) �[31m�[1mFAIL: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge-remote (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge-remote/test.log)
    2722:  �[31m�[1mFAILED: �[0m//java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge-remote (Summary)
    ...
    
    2826:  Caps: Capabilities {acceptInsecureCerts: false, browserName: MicrosoftEdge, browserVersion: 127.0.2651.74, fedcm:accounts: true, ms:edgeOptions: {debuggerAddress: localhost:44709}, msedge: {msedgedriverVersion: 127.0.2651.72 (efc0f6216bd9..., userDataDir: /tmp/.com.microsoft.Edge.zt...}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:5519/session..., se:cdpVersion: 127.0.2651.74, se:gridWebSocketUrl: ws://localhost:15826/sessio..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:5519/session..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2827:  08:46:30.795 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:15826/session/b99ebd5680e247e0603bb5081bc99a22
    2828:  08:46:30.836 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:44709/devtools/browser/3a81f2f2-6b7a-4c5b-b43e-2c5831d3b39d
    2829:  08:46:32.518 INFO [LocalSessionMap.remove] - Deleted session from local Session Map, Id: b99ebd5680e247e0603bb5081bc99a22
    2830:  08:46:32.518 INFO [GridModel.release] - Releasing slot for session id b99ebd5680e247e0603bb5081bc99a22
    2831:  08:46:32.518 INFO [SessionSlot.stop] - Stopping session b99ebd5680e247e0603bb5081bc99a22
    2832:  Failures: 1
    2833:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2834:  java.lang.AssertionError: 
    ...
    
    2942:  Caps: Capabilities {acceptInsecureCerts: false, browserName: MicrosoftEdge, browserVersion: 127.0.2651.74, fedcm:accounts: true, ms:edgeOptions: {debuggerAddress: localhost:41091}, msedge: {msedgedriverVersion: 127.0.2651.72 (efc0f6216bd9..., userDataDir: /tmp/.com.microsoft.Edge.TU...}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:31352/sessio..., se:cdpVersion: 127.0.2651.74, se:gridWebSocketUrl: ws://localhost:32277/sessio..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:31352/sessio..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2943:  08:48:31.033 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:32277/session/a57cd25b2b5d160c0a4c918234f0fec3
    2944:  08:48:31.075 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:41091/devtools/browser/d4f1ad03-66ec-4aa6-9b31-070b23587c91
    2945:  08:48:32.844 INFO [LocalSessionMap.remove] - Deleted session from local Session Map, Id: a57cd25b2b5d160c0a4c918234f0fec3
    2946:  08:48:32.845 INFO [GridModel.release] - Releasing slot for session id a57cd25b2b5d160c0a4c918234f0fec3
    2947:  08:48:32.845 INFO [SessionSlot.stop] - Stopping session a57cd25b2b5d160c0a4c918234f0fec3
    2948:  Failures: 1
    2949:  1) canListenToNavigationStartedEvent() (org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest)
    2950:  java.lang.AssertionError: 
    ...
    
    2953:  to contain:
    2954:  "/bidi/logEntryAdded.html" 
    2955:  at org.openqa.selenium.bidi.browsingcontext.BrowsingContextInspectorTest.canListenToNavigationStartedEvent(BrowsingContextInspectorTest.java:152)
    2956:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKID3iSnjCJuRNaN1tTylYA_3f1GUN8424IiQKBRQMSHlwEJ8D
    2957:  ================================================================================
    2958:  (08:48:40) �[32mINFO: �[0mFound 2076 test targets...
    2959:  (08:48:40) �[32mINFO: �[0mElapsed time: 480.955s, Critical Path: 293.74s
    2960:  (08:48:40) �[32mINFO: �[0m17252 processes: 8959 remote cache hit, 8227 internal, 58 local, 8 remote.
    2961:  (08:48:40) �[32mINFO: �[0mBuild completed, 4 tests FAILED, 17252 total actions
    ...
    
    3033:  //dotnet/test/common:ElementFindingTest-edge                    �[0m�[32m(cached) PASSED�[0m in 31.5s
    3034:  //dotnet/test/common:ElementFindingTest-firefox                 �[0m�[32m(cached) PASSED�[0m in 41.5s
    3035:  //dotnet/test/common:ElementPropertyTest-chrome                 �[0m�[32m(cached) PASSED�[0m in 6.3s
    3036:  //dotnet/test/common:ElementPropertyTest-edge                   �[0m�[32m(cached) PASSED�[0m in 8.8s
    3037:  //dotnet/test/common:ElementPropertyTest-firefox                �[0m�[32m(cached) PASSED�[0m in 14.9s
    3038:  //dotnet/test/common:ElementSelectingTest-chrome                �[0m�[32m(cached) PASSED�[0m in 11.9s
    3039:  //dotnet/test/common:ElementSelectingTest-edge                  �[0m�[32m(cached) PASSED�[0m in 14.1s
    3040:  //dotnet/test/common:ElementSelectingTest-firefox               �[0m�[32m(cached) PASSED�[0m in 29.3s
    3041:  //dotnet/test/common:ErrorsTest-chrome                          �[0m�[32m(cached) PASSED�[0m in 8.3s
    3042:  //dotnet/test/common:ErrorsTest-edge                            �[0m�[32m(cached) PASSED�[0m in 9.7s
    3043:  //dotnet/test/common:ErrorsTest-firefox                         �[0m�[32m(cached) PASSED�[0m in 8.7s
    ...
    
    3370:  //java/test/org/openqa/selenium:ElementFindingTest-edge         �[0m�[32m(cached) PASSED�[0m in 95.0s
    3371:  //java/test/org/openqa/selenium:ElementFindingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 47.8s
    3372:  //java/test/org/openqa/selenium:ElementFindingTest-spotbugs     �[0m�[32m(cached) PASSED�[0m in 6.1s
    3373:  //java/test/org/openqa/selenium:ElementSelectingTest            �[0m�[32m(cached) PASSED�[0m in 28.3s
    3374:  //java/test/org/openqa/selenium:ElementSelectingTest-chrome     �[0m�[32m(cached) PASSED�[0m in 18.2s
    3375:  //java/test/org/openqa/selenium:ElementSelectingTest-edge       �[0m�[32m(cached) PASSED�[0m in 30.1s
    3376:  //java/test/org/openqa/selenium:ElementSelectingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 32.3s
    3377:  //java/test/org/openqa/selenium:ElementSelectingTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 6.1s
    3378:  //java/test/org/openqa/selenium:ErrorsTest                      �[0m�[32m(cached) PASSED�[0m in 12.6s
    3379:  //java/test/org/openqa/selenium:ErrorsTest-chrome               �[0m�[32m(cached) PASSED�[0m in 11.2s
    3380:  //java/test/org/openqa/selenium:ErrorsTest-edge                 �[0m�[32m(cached) PASSED�[0m in 17.7s
    3381:  //java/test/org/openqa/selenium:ErrorsTest-firefox-beta         �[0m�[32m(cached) PASSED�[0m in 14.6s
    3382:  //java/test/org/openqa/selenium:ErrorsTest-spotbugs             �[0m�[32m(cached) PASSED�[0m in 5.6s
    ...
    
    4102:  //java/test/org/openqa/selenium/os:ExternalProcessTest          �[0m�[32m(cached) PASSED�[0m in 3.2s
    4103:  //java/test/org/openqa/selenium/os:ExternalProcessTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 7.9s
    4104:  //java/test/org/openqa/selenium/os:OsProcessTest                �[0m�[32m(cached) PASSED�[0m in 4.8s
    4105:  //java/test/org/openqa/selenium/os:OsProcessTest-spotbugs       �[0m�[32m(cached) PASSED�[0m in 7.6s
    4106:  //java/test/org/openqa/selenium/remote:AugmenterTest            �[0m�[32m(cached) PASSED�[0m in 6.7s
    4107:  //java/test/org/openqa/selenium/remote:AugmenterTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 8.6s
    4108:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest  �[0m�[32m(cached) PASSED�[0m in 2.4s
    4109:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 8.0s
    4110:  //java/test/org/openqa/selenium/remote:ErrorCodecTest           �[0m�[32m(cached) PASSED�[0m in 2.1s
    4111:  //java/test/org/openqa/selenium/remote:ErrorCodecTest-spotbugs  �[0m�[32m(cached) PASSED�[0m in 4.7s
    4112:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest         �[0m�[32m(cached) PASSED�[0m in 3.5s
    4113:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 9.2s
    ...
    
    4692:  //py:common-firefox-test/selenium/webdriver/support/relative_by_tests.py �[0m�[32m(cached) PASSED�[0m in 92.6s
    4693:  //py:test-chrome-test/selenium/webdriver/chrome/chrome_network_emulation_tests.py �[0m�[32m(cached) PASSED�[0m in 4.8s
    4694:  //py:unit-test/unit/selenium/webdriver/chrome/chrome_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.0s
    4695:  //py:unit-test/unit/selenium/webdriver/common/cdp_module_fallback_tests.py �[0m�[32m(cached) PASSED�[0m in 3.2s
    4696:  //py:unit-test/unit/selenium/webdriver/common/common_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.8s
    4697:  //py:unit-test/unit/selenium/webdriver/common/print_page_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.8s
    4698:  //py:unit-test/unit/selenium/webdriver/edge/edge_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.9s
    4699:  //py:unit-test/unit/selenium/webdriver/firefox/firefox_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.9s
    4700:  //py:unit-test/unit/selenium/webdriver/remote/error_handler_tests.py �[0m�[32m(cached) PASSED�[0m in 3.4s
    ...
    
    4735:  //rb/spec/integration/selenium/webdriver:element-edge-bidi      �[0m�[32m(cached) PASSED�[0m in 9.8s
    4736:  //rb/spec/integration/selenium/webdriver:element-edge-remote    �[0m�[32m(cached) PASSED�[0m in 31.3s
    4737:  //rb/spec/integration/selenium/webdriver:element-firefox        �[0m�[32m(cached) PASSED�[0m in 38.7s
    4738:  //rb/spec/integration/selenium/webdriver:element-firefox-beta   �[0m�[32m(cached) PASSED�[0m in 37.7s
    4739:  //rb/spec/integration/selenium/webdriver:element-firefox-beta-bidi �[0m�[32m(cached) PASSED�[0m in 11.2s
    4740:  //rb/spec/integration/selenium/webdriver:element-firefox-beta-remote �[0m�[32m(cached) PASSED�[0m in 42.9s
    4741:  //rb/spec/integration/selenium/webdriver:element-firefox-bidi   �[0m�[32m(cached) PASSED�[0m in 11.2s
    4742:  //rb/spec/integration/selenium/webdriver:element-firefox-remote �[0m�[32m(cached) PASSED�[0m in 47.7s
    4743:  //rb/spec/integration/selenium/webdriver:error-chrome           �[0m�[32m(cached) PASSED�[0m in 12.0s
    4744:  //rb/spec/integration/selenium/webdriver:error-chrome-bidi      �[0m�[32m(cached) PASSED�[0m in 8.5s
    4745:  //rb/spec/integration/selenium/webdriver:error-chrome-remote    �[0m�[32m(cached) PASSED�[0m in 16.8s
    4746:  //rb/spec/integration/selenium/webdriver:error-edge             �[0m�[32m(cached) PASSED�[0m in 11.2s
    4747:  //rb/spec/integration/selenium/webdriver:error-edge-bidi        �[0m�[32m(cached) PASSED�[0m in 9.2s
    4748:  //rb/spec/integration/selenium/webdriver:error-edge-remote      �[0m�[32m(cached) PASSED�[0m in 15.2s
    4749:  //rb/spec/integration/selenium/webdriver:error-firefox          �[0m�[32m(cached) PASSED�[0m in 11.8s
    4750:  //rb/spec/integration/selenium/webdriver:error-firefox-beta     �[0m�[32m(cached) PASSED�[0m in 12.1s
    4751:  //rb/spec/integration/selenium/webdriver:error-firefox-beta-bidi �[0m�[32m(cached) PASSED�[0m in 10.2s
    4752:  //rb/spec/integration/selenium/webdriver:error-firefox-beta-remote �[0m�[32m(cached) PASSED�[0m in 16.2s
    4753:  //rb/spec/integration/selenium/webdriver:error-firefox-bidi     �[0m�[32m(cached) PASSED�[0m in 12.5s
    4754:  //rb/spec/integration/selenium/webdriver:error-firefox-remote   �[0m�[32m(cached) PASSED�[0m in 17.8s
    ...
    
    5027:  //rb/spec/unit/selenium/webdriver/safari:service                �[0m�[32m(cached) PASSED�[0m in 8.2s
    5028:  //rb/spec/unit/selenium/webdriver/support:color                 �[0m�[32m(cached) PASSED�[0m in 7.5s
    5029:  //rb/spec/unit/selenium/webdriver/support:event_firing          �[0m�[32m(cached) PASSED�[0m in 10.1s
    5030:  //rb/spec/unit/selenium/webdriver/support:select                �[0m�[32m(cached) PASSED�[0m in 8.3s
    5031:  //rust:selenium-manager-fmt                                     �[0m�[32m(cached) PASSED�[0m in 0.3s
    5032:  //rust:selenium_manager-fmt                                     �[0m�[32m(cached) PASSED�[0m in 0.4s
    5033:  //rust:unit                                                     �[0m�[32m(cached) PASSED�[0m in 0.2s
    5034:  //rust:unit-fmt                                                 �[0m�[32m(cached) PASSED�[0m in 0.4s
    5035:  //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 98.5s
    5036:  Stats over 2 runs: max = 98.5s, min = 95.0s, avg = 96.7s, dev = 1.8s
    5037:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome/test.log
    5038:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome/test_attempts/attempt_1.log
    5039:  //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-chrome-remote �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 104.7s
    5040:  Stats over 2 runs: max = 104.7s, min = 99.9s, avg = 102.3s, dev = 2.4s
    5041:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome-remote/test.log
    5042:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-chrome-remote/test_attempts/attempt_1.log
    5043:  //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 115.3s
    5044:  Stats over 2 runs: max = 115.3s, min = 115.2s, avg = 115.3s, dev = 0.0s
    5045:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge/test.log
    5046:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge/test_attempts/attempt_1.log
    5047:  //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextInspectorTest-edge-remote �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 124.4s
    5048:  Stats over 2 runs: max = 124.4s, min = 119.3s, avg = 121.8s, dev = 2.5s
    5049:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge-remote/test.log
    5050:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/browsingcontext/BrowsingContextInspectorTest-edge-remote/test_attempts/attempt_1.log
    5051:  Executed 4 out of 2076 tests: 2072 tests pass and �[0m�[31m�[1m4 fail remotely�[0m.
    5052:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    5053:  (08:48:41) �[32mINFO: �[0mStreaming build results to: https://gypsum.cluster.engflow.com/invocation/dc65ff8d-a9c0-4544-91cb-045d4288ff1b
    5054:  �[0m
    5055:  ##[error]Process completed with exit code 3.
    

    ✨ CI feedback usage guide:

    The CI feedback tool (/checks) automatically triggers when a PR has a failed check.
    The tool analyzes the failed checks and provides several feedbacks:

    • Failed stage
    • Failed test name
    • Failure summary
    • Relevant error logs

    In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:

    /checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"
    

    where {repo_name} is the name of the repository, {run_number} is the run number of the failed check, and {job_number} is the job number of the failed check.

    Configuration options

    • enable_auto_checks_feedback - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
    • excluded_checks_list - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
    • enable_help_text - if set to true, the tool will provide a help message with the feedback. Default is true.
    • persistent_comment - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
    • final_update_message - if persistent_comment is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true.

    See more information about the checks tool in the docs.

    @diemol diemol linked an issue Aug 28, 2024 that may be closed by this pull request
    Copy link
    Member

    @diemol diemol left a comment

    Choose a reason for hiding this comment

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

    Thank you, @bonigarcia!

    @diemol diemol merged commit a056044 into trunk Aug 28, 2024
    @diemol diemol deleted the sm_skip_path branch August 28, 2024 09:16
    M1troll pushed a commit to M1troll/selenium that referenced this pull request May 14, 2025
    …eleniumHQ#14444)
    
    * [rust] Include arguments for skipping drivers and browsers in path
    
    * [rust] Update skip logic with the current codebase
    
    ---------
    
    Co-authored-by: Diego Molina <[email protected]>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Labels

    C-rust Rust code is mostly Selenium Manager P-enhancement PR with a new feature Review effort [1-5]: 2

    Projects

    Status: Done

    Development

    Successfully merging this pull request may close these issues.

    [🚀 Feature]: Selenium Manager Opt-In to Se 5 Behavior

    3 participants