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

[build] Prepare for release of Selenium 4.21.0 #13945

Merged
merged 15 commits into from
May 16, 2024

Conversation

selenium-ci
Copy link
Member

@selenium-ci selenium-ci commented May 15, 2024

User description

Warning: Manually update the changelogs before merging

This PR:

  • Updates Rust version for Selenium Manager release
  • Updates Pinned browser version to coincide with new CDP release
  • Adds support for new CDP version and removes old CDP version
  • Selenium Manager references the new Selenium Manager release
  • Updates Maven Dependencies
  • Adds new authors to authors file
  • Updates all versions for all bindings
  • Generates rough change logs for each bindings (please tidy them up before merging this)

PR Type

enhancement, bug_fix


Description

  • Updated Java and .NET WebDriver DevTools classes for Chrome v125, aligning with the new CDP version.
  • Removed deprecated ownership parameter from JavaScript BiDi browsing context methods.
  • Enhanced various WebDriver DevTools classes to use updated namespaces and methods corresponding to Chrome v125.

Changes walkthrough 📝

Relevant files
Enhancement
13 files
v125Target.java
Update Java DevTools v125 Target Classes                                 

java/src/org/openqa/selenium/devtools/v125/v125Target.java

  • Updated package and imports from v122 to v125 for target-related
    classes.
  • Adjusted method implementations to use v125 model classes.
  • +12/-12 
    v125Network.java
    Update Java DevTools v125 Network Classes                               

    java/src/org/openqa/selenium/devtools/v125/v125Network.java

  • Updated package and imports from v122 to v125 for network-related
    classes.
  • Modified network-related method implementations to use v125 classes.
  • +10/-10 
    v125Events.java
    Update Java DevTools v125 Event Handling Classes                 

    java/src/org/openqa/selenium/devtools/v125/v125Events.java

  • Updated package and imports from v122 to v125 for event-related
    classes.
  • Adjusted event handling to utilize v125 model classes.
  • +9/-9     
    v125Domains.java
    Refactor Java DevTools v125 Domain Classes                             

    java/src/org/openqa/selenium/devtools/v125/v125Domains.java

  • Updated package and imports from v122 to v125 for domain-related
    classes.
  • Refactored domain class implementations to align with v125.
  • +13/-13 
    v125Javascript.java
    Update Java DevTools v125 JavaScript Execution Classes     

    java/src/org/openqa/selenium/devtools/v125/v125Javascript.java

  • Updated package and imports from v122 to v125 for JavaScript-related
    classes.
  • Modified JavaScript execution methods to use v125 classes.
  • +7/-7     
    v125Log.java
    Update Java DevTools v125 Log Classes                                       

    java/src/org/openqa/selenium/devtools/v125/v125Log.java

  • Updated package and imports from v122 to v125 for log-related classes.
  • Adjusted log handling methods to utilize v125 classes.
  • +5/-5     
    v125CdpInfo.java
    Update Java DevTools v125 CDP Information Class                   

    java/src/org/openqa/selenium/devtools/v125/v125CdpInfo.java

  • Updated package from v122 to v125 for CDP info class.
  • Changed constructor to reference v125 domains.
  • +4/-4     
    V125Domains.cs
    Update .NET WebDriver DevTools v125 Domain Classes             

    dotnet/src/webdriver/DevTools/v125/V125Domains.cs

  • Updated namespace and class name from V122 to V125.
  • Adjusted domain classes to align with v125.
  • +11/-11 
    V125Network.cs
    Update .NET WebDriver DevTools v125 Network Classes           

    dotnet/src/webdriver/DevTools/v125/V125Network.cs

  • Updated namespace and imports from V122 to V125 for network-related
    classes.
  • Modified network handling methods to use v125 classes.
  • +12/-12 
    V125JavaScript.cs
    Update .NET WebDriver DevTools v125 JavaScript Classes     

    dotnet/src/webdriver/DevTools/v125/V125JavaScript.cs

  • Updated namespace and imports from V122 to V125 for JavaScript-related
    classes.
  • Adjusted JavaScript execution methods to utilize v125 classes.
  • +8/-8     
    V125Target.cs
    Update .NET WebDriver DevTools v125 Target Classes             

    dotnet/src/webdriver/DevTools/v125/V125Target.cs

  • Updated namespace and imports from V122 to V125 for target-related
    classes.
  • Refactored target handling methods to align with v125.
  • +7/-7     
    V125Log.cs
    Update .NET WebDriver DevTools v125 Log Classes                   

    dotnet/src/webdriver/DevTools/v125/V125Log.cs

  • Updated namespace and imports from V122 to V125 for log-related
    classes.
  • Modified log handling methods to use v125 classes.
  • +7/-7     
    browsingContext.js
    Remove Ownership Parameter from BrowsingContext Methods   

    javascript/node/selenium-webdriver/bidi/browsingContext.js

  • Removed the ownership parameter from locateNodes and locateNode
    methods due to updates in BiDi spec.
  • +2/-17   

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

    @selenium-ci selenium-ci added the C-build Build related issues (bazel and CI) label May 15, 2024
    Copy link

    codiumai-pr-agent-pro bot commented May 15, 2024

    CI Failure Feedback 🧐

    (Checks updated until commit a44c536)

    Action: Test / All RBE tests

    Failed stage: Run Bazel [❌]

    Failed test name: Selenium::WebDriver::Firefox::Driver#install_addon

    Failure summary:

    The action failed due to the test Selenium::WebDriver::Firefox::Driver#install_addon failing
    multiple times. The test failed because it attempted to install various add-ons (xpi files, signed
    zip files, and directories), which were reported as corrupt. This suggests an issue with the files
    being used for the test or the environment in which the add-ons are being installed.

    Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    973:  Package 'php-symfony-debug-bundle' is not installed, so not removed
    974:  Package 'php-symfony-dependency-injection' is not installed, so not removed
    975:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
    976:  Package 'php-symfony-discord-notifier' is not installed, so not removed
    977:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
    978:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
    979:  Package 'php-symfony-dom-crawler' is not installed, so not removed
    980:  Package 'php-symfony-dotenv' is not installed, so not removed
    981:  Package 'php-symfony-error-handler' is not installed, so not removed
    ...
    
    1678:  (03:25:56) �[33mDEBUG: �[0m/home/runner/.bazel/external/rules_jvm_external~/coursier.bzl:754:18: Found duplicate artifact versions
    1679:  com.google.code.gson:gson has multiple versions 2.10.1, 2.8.9
    1680:  com.google.guava:guava has multiple versions 33.2.0-jre, 31.1-jre
    1681:  org.mockito:mockito-core has multiple versions 5.12.0, 4.3.1
    1682:  Please remove duplicate artifacts from the artifact list so you do not get unexpected artifact versions
    1683:  (03:26:00) �[32mAnalyzing:�[0m 1605 targets (458 packages loaded, 7773 targets configured)
    1684:  �[32m[1 / 1]�[0m checking cached actions
    1685:  (03:26:02) �[33mDEBUG: �[0m/home/runner/.bazel/external/rules_jvm_external~/coursier.bzl:754:18: Found duplicate artifact versions
    1686:  com.google.errorprone:error_prone_annotations has multiple versions 2.11.0, 2.9.0
    ...
    
    1786:  * `Zip::InputStream`
    1787:  * `Zip::OutputStream`
    1788:  Please ensure that your Gemfiles and .gemspecs are suitably restrictive
    1789:  to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
    1790:  See https://github.com/rubyzip/rubyzip for details. The Changelog also
    1791:  lists other enhancements and bugfixes that have been implemented since
    1792:  version 2.3.0.
    1793:  (03:26:53) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (66 source files):
    1794:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1795:  private final ErrorCodes errorCodes;
    1796:  ^
    1797:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1798:  this.errorCodes = new ErrorCodes();
    1799:  ^
    1800:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1801:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1802:  ^
    1803:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1804:  ErrorCodes errorCodes = new ErrorCodes();
    1805:  ^
    1806:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1807:  ErrorCodes errorCodes = new ErrorCodes();
    1808:  ^
    1809:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1810:  response.setStatus(ErrorCodes.SUCCESS);
    1811:  ^
    1812:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1813:  response.setState(ErrorCodes.SUCCESS_STRING);
    1814:  ^
    1815:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1816:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1817:  ^
    1818:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1819:  new ErrorCodes().getExceptionType((String) rawError);
    1820:  ^
    1821:  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
    1822:  private final ErrorCodes errorCodes = new ErrorCodes();
    1823:  ^
    1824:  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
    1825:  private final ErrorCodes errorCodes = new ErrorCodes();
    1826:  ^
    1827:  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
    1828:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1829:  ^
    1830:  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
    1831:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1832:  ^
    1833:  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
    1834:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1835:  ^
    1836:  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
    1837:  response.setStatus(ErrorCodes.SUCCESS);
    1838:  ^
    1839:  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
    1840:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1841:  ^
    1842:  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
    1843:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1844:  ^
    1845:  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
    1846:  private final ErrorCodes errorCodes = new ErrorCodes();
    1847:  ^
    1848:  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
    1849:  private final ErrorCodes errorCodes = new ErrorCodes();
    1850:  ^
    1851:  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
    1852:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1853:  ^
    1854:  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
    1855:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1856:  ^
    1857:  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
    1858:  response.setStatus(ErrorCodes.SUCCESS);
    1859:  ^
    1860:  (03:26:55) �[32mAnalyzing:�[0m 1605 targets (1152 packages loaded, 33462 targets configured)
    1861:  �[32m[4,377 / 6,169]�[0m 74 / 216 tests;�[0m [Prepa] Generating v125 DevTools Protocol bindings for .NET ... (33 actions, 3 running)
    1862:  (03:26:59) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (66 source files):
    1863:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1864:  private final ErrorCodes errorCodes;
    1865:  ^
    1866:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1867:  this.errorCodes = new ErrorCodes();
    1868:  ^
    1869:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1870:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1871:  ^
    1872:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1873:  ErrorCodes errorCodes = new ErrorCodes();
    1874:  ^
    1875:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1876:  ErrorCodes errorCodes = new ErrorCodes();
    1877:  ^
    1878:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: 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/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1882:  response.setState(ErrorCodes.SUCCESS_STRING);
    1883:  ^
    1884:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1885:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1886:  ^
    1887:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1888:  new ErrorCodes().getExceptionType((String) rawError);
    1889:  ^
    1890:  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
    1891:  private final ErrorCodes errorCodes = new ErrorCodes();
    1892:  ^
    1893:  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
    1894:  private final ErrorCodes errorCodes = new ErrorCodes();
    1895:  ^
    1896:  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
    1897:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1898:  ^
    1899:  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
    1900:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1901:  ^
    1902:  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
    1903:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1904:  ^
    1905:  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
    1906:  response.setStatus(ErrorCodes.SUCCESS);
    1907:  ^
    1908:  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
    1909:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1910:  ^
    1911:  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
    1912:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1913:  ^
    1914:  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
    1915:  private final ErrorCodes errorCodes = new ErrorCodes();
    1916:  ^
    1917:  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
    1918:  private final ErrorCodes errorCodes = new ErrorCodes();
    1919:  ^
    1920:  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
    1921:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1922:  ^
    1923:  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
    1924:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1925:  ^
    1926:  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
    1927:  response.setStatus(ErrorCodes.SUCCESS);
    ...
    
    1940:  �[32m[7,012 / 7,738]�[0m 93 / 626 tests;�[0m Testing //rb/spec/unit/selenium/webdriver/ie:options; 5s remote, remote-cache ... (48 actions, 1 running)
    1941:  (03:27:21) �[32mAnalyzing:�[0m 1605 targets (1176 packages loaded, 35373 targets configured)
    1942:  �[32m[8,191 / 9,141]�[0m 155 / 768 tests;�[0m [Prepa] Action dotnet/test/support/UI/SelectTests/net7.0/SelectTests ... (50 actions, 4 running)
    1943:  (03:27:26) �[32mAnalyzing:�[0m 1605 targets (1176 packages loaded, 35373 targets configured)
    1944:  �[32m[8,696 / 9,397]�[0m 182 / 768 tests;�[0m Extracting npm package @mui/icons-material@5.15.8_-554584225; 4s remote, remote-cache ... (49 actions, 0 running)
    1945:  (03:27:31) �[32mAnalyzing:�[0m 1605 targets (1182 packages loaded, 35554 targets configured)
    1946:  �[32m[9,136 / 9,650]�[0m 229 / 787 tests;�[0m Testing //dotnet/test/common:ElementPropertyTest-chrome; 0s remote, remote-cache ... (48 actions, 0 running)
    1947:  (03:27:36) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
    1948:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1949:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    1950:  ^
    1951:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1952:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    1953:  ^
    1954:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1955:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
    ...
    
    1980:  ^
    1981:  java/test/org/openqa/selenium/remote/http/FormEncodedDataTest.java:102: warning: [removal] FormEncodedData in org.openqa.selenium.remote.http has been deprecated and marked for removal
    1982:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
    1983:  ^
    1984:  java/test/org/openqa/selenium/remote/http/FormEncodedDataTest.java:114: warning: [removal] FormEncodedData in org.openqa.selenium.remote.http has been deprecated and marked for removal
    1985:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
    1986:  ^
    1987:  (03:27:38) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
    1988:  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
    1989:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
    1990:  ^
    1991:  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
    1992:  assertThat(decoded.getStatus().intValue()).isEqualTo(ErrorCodes.SUCCESS);
    1993:  ^
    1994:  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
    1995:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    1996:  ^
    1997:  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
    1998:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    1999:  ^
    2000:  (03:27:38) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
    2001:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2002:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
    2003:  ^
    2004:  (03:27:40) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2005:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2006:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
    2007:  ^
    2008:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2009:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2010:  ^
    2011:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2012:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2013:  ^
    2014:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2015:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2016:  ^
    2017:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2018:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2019:  ^
    2020:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2021:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
    2022:  ^
    2023:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2024:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2025:  ^
    2026:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2027:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2028:  ^
    2029:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2030:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2031:  ^
    2032:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2033:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
    2034:  ^
    2035:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2036:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
    2037:  ^
    2038:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2039:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
    2040:  ^
    2041:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2042:  ErrorCodes.UNHANDLED_ERROR,
    2043:  ^
    2044:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2045:  ErrorCodes.UNHANDLED_ERROR,
    2046:  ^
    2047:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2048:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2049:  ^
    2050:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2051:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2052:  ^
    2053:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2054:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2055:  ^
    2056:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2057:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2058:  ^
    2059:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2060:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2061:  ^
    2062:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2063:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2064:  ^
    2065:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2066:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2067:  ^
    2068:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2069:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2070:  ^
    2071:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2072:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2073:  ^
    2074:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2075:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
    2076:  ^
    2077:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2078:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2079:  ^
    2080:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2081:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2082:  ^
    2083:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2084:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2085:  ^
    2086:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2087:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2088:  ^
    2089:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2090:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2091:  ^
    2092:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2093:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
    2094:  ^
    2095:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2096:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
    2097:  ^
    2098:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2099:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2100:  ^
    2101:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2102:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
    2103:  ^
    2104:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2105:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2106:  ^
    2107:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2108:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
    2109:  ^
    2110:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2111:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
    2112:  ^
    2113:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2114:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
    2115:  ^
    2116:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2117:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
    2118:  ^
    2119:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2120:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
    2121:  ^
    2122:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2123:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
    2124:  ^
    2125:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2126:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
    2127:  ^
    2128:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2129:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
    2130:  ^
    2131:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2132:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
    2133:  ^
    2134:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2135:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
    2136:  ^
    2137:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2138:  ? ErrorCodes.INVALID_SELECTOR_ERROR
    2139:  ^
    2140:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2141:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
    2142:  ^
    2143:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2144:  response.setState(new ErrorCodes().toState(status));
    2145:  ^
    2146:  (03:27:41) �[32mAnalyzing:�[0m 1605 targets (1182 packages loaded, 35623 targets configured)
    2147:  �[32m[10,126 / 10,346]�[0m 572 / 834 tests;�[0m Testing //java/test/org/openqa/selenium/grid/distributor:DistributorNodeAvailabilityTest; 3s remote, remote-cache ... (50 actions, 0 running)
    2148:  (03:27:42) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2149:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2150:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2151:  ^
    2152:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2153:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2154:  ^
    2155:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2156:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2157:  ^
    2158:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2159:  private final ErrorCodes errorCodes = new ErrorCodes();
    2160:  ^
    2161:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2162:  private final ErrorCodes errorCodes = new ErrorCodes();
    2163:  ^
    2164:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2165:  private final ErrorCodes errorCodes = new ErrorCodes();
    2166:  ^
    2167:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2168:  private final ErrorCodes errorCodes = new ErrorCodes();
    ...
    
    2178:  (03:27:53) �[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
    2179:  (03:27:53) �[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
    2180:  (03:27:53) �[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
    2181:  (03:27:53) �[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
    2182:  (03:27:53) �[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
    2183:  (03:27:53) �[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
    2184:  (03:27:53) �[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
    2185:  (03:27:53) �[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
    2186:  (03:27:53) �[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
    ...
    
    2299:  (03:28:16) �[32m[14,283 / 14,386]�[0m 1301 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 24s remote, remote-cache ... (46 actions, 2 running)
    2300:  (03:28:21) �[32m[14,409 / 14,594]�[0m 1421 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 29s remote, remote-cache ... (50 actions, 1 running)
    2301:  (03:28:30) �[32m[14,593 / 14,594]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 38s remote, remote-cache
    2302:  (03:28:35) �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test_attempts/attempt_1.log)
    2303:  (03:28:40) �[32m[14,593 / 14,594]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 48s remote, remote-cache
    2304:  (03:29:05) �[32m[14,593 / 14,594]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 73s remote, remote-cache
    2305:  (03:29:16) �[32m[14,593 / 14,594]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 84s remote, remote-cache
    2306:  (03:29:17) �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test.log)
    2307:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta (Summary)
    ...
    
    2319:  Selenium::WebDriver::Firefox::Driver
    2320:  can get and set context
    2321:  #print_options
    2322:  returns base64 for print command
    2323:  prints with orientation
    2324:  prints with valid params
    2325:  prints full page
    2326:  #install_addon
    2327:  install and uninstall xpi file (FAILED - 1)
    2328:  install and uninstall signed zip file (FAILED - 2)
    2329:  install and uninstall unsigned zip file
    2330:  install and uninstall signed directory (FAILED - 3)
    2331:  install and uninstall unsigned directory
    2332:  Failures:
    2333:  1) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall xpi file
    2334:  Failure/Error: id = driver.install_addon(ext)
    2335:  Selenium::WebDriver::Error::UnknownError:
    2336:  Could not install add-on: /tmp/addon-d3cbb6e0-5576-42b0-82f2-fa08d2a7d07e.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
    2337:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    2338:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
    2339:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
    ...
    
    2344:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    2345:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    2346:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    2347:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
    2348:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
    2349:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
    2350:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:68:in `block in Firefox'
    2351:  2) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed zip file
    2352:  Failure/Error: id = driver.install_addon(ext)
    2353:  Selenium::WebDriver::Error::UnknownError:
    2354:  Could not install add-on: /tmp/addon-937a3b93-710c-46a6-a926-c508cf8236a3.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
    2355:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    2356:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
    2357:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
    ...
    
    2362:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    2363:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    2364:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    2365:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
    2366:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
    2367:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
    2368:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:83:in `block in Firefox'
    2369:  3) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed directory
    2370:  Failure/Error: id = driver.install_addon(ext)
    2371:  Selenium::WebDriver::Error::UnknownError:
    2372:  Could not install add-on: /tmp/addon-a071a864-a3be-487b-9b11-961d4fa4e199.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
    2373:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    2374:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
    2375:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
    ...
    
    2380:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    2381:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    2382:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    2383:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
    2384:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
    2385:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
    2386:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:114:in `block in Firefox'
    2387:  Finished in 28.85 seconds (files took 1.79 seconds to load)
    2388:  10 examples, 3 failures
    2389:  Failed examples:
    ...
    
    2403:  Selenium::WebDriver::Firefox::Driver
    2404:  can get and set context
    2405:  #print_options
    2406:  returns base64 for print command
    2407:  prints with orientation
    2408:  prints with valid params
    2409:  prints full page
    2410:  #install_addon
    2411:  install and uninstall xpi file (FAILED - 1)
    2412:  install and uninstall signed zip file (FAILED - 2)
    2413:  install and uninstall unsigned zip file
    2414:  install and uninstall signed directory (FAILED - 3)
    2415:  install and uninstall unsigned directory
    2416:  Failures:
    2417:  1) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall xpi file
    2418:  Failure/Error: id = driver.install_addon(ext)
    2419:  Selenium::WebDriver::Error::UnknownError:
    2420:  Could not install add-on: /tmp/addon-2baad352-0103-4947-906a-bdfec2cde784.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
    2421:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    2422:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
    2423:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
    ...
    
    2428:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    2429:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    2430:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    2431:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
    2432:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
    2433:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
    2434:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:68:in `block in Firefox'
    2435:  2) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed zip file
    2436:  Failure/Error: id = driver.install_addon(ext)
    2437:  Selenium::WebDriver::Error::UnknownError:
    2438:  Could not install add-on: /tmp/addon-842d5f10-a38d-4117-ab83-1993f80fa494.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
    2439:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    2440:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
    2441:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
    ...
    
    2446:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    2447:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    2448:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    2449:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
    2450:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
    2451:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
    2452:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:83:in `block in Firefox'
    2453:  3) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed directory
    2454:  Failure/Error: id = driver.install_addon(ext)
    2455:  Selenium::WebDriver::Error::UnknownError:
    2456:  Could not install add-on: /tmp/addon-4dfdea95-169f-48e8-b9d4-a2a01f0e2194.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
    2457:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
    2458:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
    2459:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
    ...
    
    2464:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    2465:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    2466:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    2467:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
    2468:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
    2469:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
    2470:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:114:in `block in Firefox'
    2471:  Finished in 28.48 seconds (files took 1.79 seconds to load)
    2472:  10 examples, 3 failures
    2473:  Failed examples:
    2474:  rspec ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:66 # Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall xpi file
    2475:  rspec ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:81 # Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed zip file
    2476:  rspec ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:111 # Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed directory
    2477:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCH6MCo-MhPP4G0E3-7OPiCEgdkZWZhdWx0GiUKIOlyc3ghJD0tmi8R-th0coTl8xk9LVEYIgfTuu9evSStEJ8D
    2478:  ================================================================================
    2479:  (03:29:17) �[32mINFO: �[0mFound 1605 test targets...
    2480:  (03:29:17) �[32mINFO: �[0mElapsed time: 212.033s, Critical Path: 97.34s
    2481:  (03:29:17) �[32mINFO: �[0m14015 processes: 7285 remote cache hit, 6677 internal, 46 local, 7 remote.
    2482:  (03:29:17) �[32mINFO: �[0mBuild completed, 1 test FAILED, 14015 total actions
    ...
    
    2554:  //dotnet/test/common:ElementFindingTest-edge                    �[0m�[32m(cached) PASSED�[0m in 33.4s
    2555:  //dotnet/test/common:ElementFindingTest-firefox                 �[0m�[32m(cached) PASSED�[0m in 40.3s
    2556:  //dotnet/test/common:ElementPropertyTest-chrome                 �[0m�[32m(cached) PASSED�[0m in 10.1s
    2557:  //dotnet/test/common:ElementPropertyTest-edge                   �[0m�[32m(cached) PASSED�[0m in 10.0s
    2558:  //dotnet/test/common:ElementPropertyTest-firefox                �[0m�[32m(cached) PASSED�[0m in 11.4s
    2559:  //dotnet/test/common:ElementSelectingTest-chrome                �[0m�[32m(cached) PASSED�[0m in 12.9s
    2560:  //dotnet/test/common:ElementSelectingTest-edge                  �[0m�[32m(cached) PASSED�[0m in 13.0s
    2561:  //dotnet/test/common:ElementSelectingTest-firefox               �[0m�[32m(cached) PASSED�[0m in 24.7s
    2562:  //dotnet/test/common:ErrorsTest-chrome                          �[0m�[32m(cached) PASSED�[0m in 8.4s
    2563:  //dotnet/test/common:ErrorsTest-edge                            �[0m�[32m(cached) PASSED�[0m in 9.4s
    2564:  //dotnet/test/common:ErrorsTest-firefox                         �[0m�[32m(cached) PASSED�[0m in 12.2s
    ...
    
    2891:  //java/test/org/openqa/selenium:ElementFindingTest-edge         �[0m�[32m(cached) PASSED�[0m in 96.6s
    2892:  //java/test/org/openqa/selenium:ElementFindingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 40.8s
    2893:  //java/test/org/openqa/selenium:ElementFindingTest-spotbugs     �[0m�[32m(cached) PASSED�[0m in 8.8s
    2894:  //java/test/org/openqa/selenium:ElementSelectingTest            �[0m�[32m(cached) PASSED�[0m in 28.7s
    2895:  //java/test/org/openqa/selenium:ElementSelectingTest-chrome     �[0m�[32m(cached) PASSED�[0m in 18.6s
    2896:  //java/test/org/openqa/selenium:ElementSelectingTest-edge       �[0m�[32m(cached) PASSED�[0m in 30.0s
    2897:  //java/test/org/openqa/selenium:ElementSelectingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 28.8s
    2898:  //java/test/org/openqa/selenium:ElementSelectingTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 8.8s
    2899:  //java/test/org/openqa/selenium:ErrorsTest                      �[0m�[32m(cached) PASSED�[0m in 17.1s
    2900:  //java/test/org/openqa/selenium:ErrorsTest-chrome               �[0m�[32m(cached) PASSED�[0m in 10.7s
    2901:  //java/test/org/openqa/selenium:ErrorsTest-edge                 �[0m�[32m(cached) PASSED�[0m in 12.6s
    2902:  //java/test/org/openqa/selenium:ErrorsTest-firefox-beta         �[0m�[32m(cached) PASSED�[0m in 16.1s
    2903:  //java/test/org/openqa/selenium:ErrorsTest-spotbugs             �[0m�[32m(cached) PASSED�[0m in 8.3s
    ...
    
    3604:  //java/test/org/openqa/selenium/os:ExternalProcessTest          �[0m�[32m(cached) PASSED�[0m in 3.2s
    3605:  //java/test/org/openqa/selenium/os:ExternalProcessTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 9.2s
    3606:  //java/test/org/openqa/selenium/os:OsProcessTest                �[0m�[32m(cached) PASSED�[0m in 4.0s
    3607:  //java/test/org/openqa/selenium/os:OsProcessTest-spotbugs       �[0m�[32m(cached) PASSED�[0m in 10.0s
    3608:  //java/test/org/openqa/selenium/remote:AugmenterTest            �[0m�[32m(cached) PASSED�[0m in 6.8s
    3609:  //java/test/org/openqa/selenium/remote:AugmenterTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 11.9s
    3610:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest  �[0m�[32m(cached) PASSED�[0m in 1.9s
    3611:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 10.4s
    3612:  //java/test/org/openqa/selenium/remote:ErrorCodecTest           �[0m�[32m(cached) PASSED�[0m in 2.2s
    3613:  //java/test/org/openqa/selenium/remote:ErrorCodecTest-spotbugs  �[0m�[32m(cached) PASSED�[0m in 9.2s
    3614:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest         �[0m�[32m(cached) PASSED�[0m in 3.0s
    3615:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 11.6s
    ...
    
    3923:  //py:common-firefox-test/selenium/webdriver/support/relative_by_tests.py �[0m�[32m(cached) PASSED�[0m in 11.5s
    3924:  //py:test-chrome-test/selenium/webdriver/chrome/chrome_network_emulation_tests.py �[0m�[32m(cached) PASSED�[0m in 6.1s
    3925:  //py:unit-test/unit/selenium/webdriver/chrome/chrome_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.8s
    3926:  //py:unit-test/unit/selenium/webdriver/common/cdp_module_fallback_tests.py �[0m�[32m(cached) PASSED�[0m in 3.5s
    3927:  //py:unit-test/unit/selenium/webdriver/common/common_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.9s
    3928:  //py:unit-test/unit/selenium/webdriver/common/print_page_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.0s
    3929:  //py:unit-test/unit/selenium/webdriver/edge/edge_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.4s
    3930:  //py:unit-test/unit/selenium/webdriver/firefox/firefox_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.7s
    3931:  //py:unit-test/unit/selenium/webdriver/remote/error_handler_tests.py �[0m�[32m(cached) PASSED�[0m in 3.8s
    ...
    
    3943:  //rb/spec/integration/selenium/webdriver:action_builder-firefox-beta �[0m�[32m(cached) PASSED�[0m in 66.2s
    3944:  //rb/spec/integration/selenium/webdriver:driver-chrome          �[0m�[32m(cached) PASSED�[0m in 31.8s
    3945:  //rb/spec/integration/selenium/webdriver:driver-edge            �[0m�[32m(cached) PASSED�[0m in 38.9s
    3946:  //rb/spec/integration/selenium/webdriver:driver-firefox         �[0m�[32m(cached) PASSED�[0m in 62.7s
    3947:  //rb/spec/integration/selenium/webdriver:driver-firefox-beta    �[0m�[32m(cached) PASSED�[0m in 68.5s
    3948:  //rb/spec/integration/selenium/webdriver:element-edge           �[0m�[32m(cached) PASSED�[0m in 38.0s
    3949:  //rb/spec/integration/selenium/webdriver:element-firefox        �[0m�[32m(cached) PASSED�[0m in 43.6s
    3950:  //rb/spec/integration/selenium/webdriver:element-firefox-beta   �[0m�[32m(cached) PASSED�[0m in 47.2s
    3951:  //rb/spec/integration/selenium/webdriver:error-chrome           �[0m�[32m(cached) PASSED�[0m in 18.5s
    3952:  //rb/spec/integration/selenium/webdriver:error-edge             �[0m�[32m(cached) PASSED�[0m in 19.1s
    3953:  //rb/spec/integration/selenium/webdriver:error-firefox          �[0m�[32m(cached) PASSED�[0m in 21.0s
    3954:  //rb/spec/integration/selenium/webdriver:error-firefox-beta     �[0m�[32m(cached) PASSED�[0m in 20.4s
    ...
    
    4080:  //rb/spec/unit/selenium/webdriver/safari:driver                 �[0m�[32m(cached) PASSED�[0m in 18.5s
    4081:  //rb/spec/unit/selenium/webdriver/safari:options                �[0m�[32m(cached) PASSED�[0m in 16.9s
    4082:  //rb/spec/unit/selenium/webdriver/safari:service                �[0m�[32m(cached) PASSED�[0m in 18.2s
    4083:  //rb/spec/unit/selenium/webdriver/support:color                 �[0m�[32m(cached) PASSED�[0m in 24.0s
    4084:  //rb/spec/unit/selenium/webdriver/support:event_firing          �[0m�[32m(cached) PASSED�[0m in 19.4s
    4085:  //rb/spec/unit/selenium/webdriver/support:select                �[0m�[32m(cached) PASSED�[0m in 18.9s
    4086:  //javascript/node/selenium-webdriver:eslint-test                         �[0m�[32mPASSED�[0m in 8.8s
    4087:  //javascript/node/selenium-webdriver:prettier-test                       �[0m�[32mPASSED�[0m in 8.0s
    4088:  //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta     �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 40.4s
    4089:  Stats over 2 runs: max = 40.4s, min = 40.3s, avg = 40.3s, dev = 0.1s
    4090:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test.log
    4091:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test_attempts/attempt_1.log
    4092:  Executed 3 out of 1605 tests: 1604 tests pass and �[0m�[31m�[1m1 fails remotely�[0m.
    4093:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    4094:  (03:29:18) �[32mINFO: �[0mStreaming build results to: https://gypsum.cluster.engflow.com/invocation/b8095616-75d9-4905-8682-db1c35f78844
    4095:  �[0m
    4096:  ##[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 marked this pull request as ready for review May 16, 2024 03:30
    @diemol diemol merged commit 59a6366 into release-4.21.0 May 16, 2024
    13 of 14 checks passed
    @diemol diemol deleted the release-preparation-4.21.0 branch May 16, 2024 03:31
    Copy link

    PR Description updated to latest commit (a44c536)

    Copy link

    PR Review 🔍

    ⏱️ Estimated effort to review [1-5]

    4, because the PR involves multiple language bindings and updates to several core components like Selenium Manager, Maven Dependencies, and DevTools for a new browser version. It requires a thorough review to ensure compatibility and correct functionality across different modules.

    🧪 Relevant tests

    No

    ⚡ Possible issues

    Possible Bug: The PR removes support for an older CDP version (v122) and introduces a new one (v125). This change could potentially break existing functionalities or integrations that rely on the older version.

    Dependency Updates: The PR updates several dependencies, such as Guava, Spotbugs, and others. Each update might introduce changes that could affect the system's behavior or introduce new bugs.

    🔒 Security concerns

    No

    Copy link

    PR Code Suggestions ✨

    CategorySuggestion                                                                                                                                    Score
    Best practice
    Verify and ensure version number consistency across all modules

    Ensure that the version number is updated correctly across all related files to avoid
    inconsistencies that could lead to runtime errors.

    py/selenium/webdriver/init.py [47]

    -__version__ = "4.21.0"
    +__version__ = "4.21.0"  # Ensure this version matches all other module versions
     
    Suggestion importance[1-10]: 10

    Why: Ensuring version consistency across all related files is crucial for maintaining compatibility and avoiding runtime errors. This suggestion is highly relevant and addresses a best practice in software development.

    10
    Use ConfigureAwait(false) to avoid deadlocks in asynchronous code

    Use ConfigureAwait(false) on all awaited calls within ContinueWithAuth to prevent
    deadlocks by not capturing the synchronization context, especially important in library
    code.

    dotnet/src/webdriver/DevTools/v125/V125Network.cs [216-224]

     await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
    +{
    +    RequestId = requestId,
    +    AuthChallengeResponse = new V125.Fetch.AuthChallengeResponse()
    +    {
    +        Response = V125.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
    +        Username = userName,
    +        Password = password
    +    }
    +}).ConfigureAwait(false);
     
    Suggestion importance[1-10]: 8

    Why: This is a crucial suggestion for asynchronous code in library environments to prevent potential deadlocks.

    8
    Initialize class fields directly to prevent null reference issues

    Consider initializing fetch and network fields directly in their declaration to ensure
    they are never unintentionally left unassigned, which can lead to null reference
    exceptions.

    dotnet/src/webdriver/DevTools/v125/V125Network.cs [33-34]

    -private FetchAdapter fetch;
    -private NetworkAdapter network;
    +private FetchAdapter fetch = new FetchAdapter();
    +private NetworkAdapter network = new NetworkAdapter();
     
    Suggestion importance[1-10]: 5

    Why: The suggestion is valid for improving code safety, but it's not critical as the fields are assigned in the constructor.

    5
    Security
    Verify and correct the SHA256 checksums for all updated URLs

    Ensure that the SHA256 checksums for the new URLs are correct to prevent potential
    security risks or download errors.

    common/repositories.bzl [15]

    -sha256 = "f029b9dd18e1955fa1391cfaac2fdbe338343ddff59eeb1f4b2f509cc01b4584",
    +sha256 = "<correct_sha256_checksum>",
     
    Suggestion importance[1-10]: 10

    Why: Verifying SHA256 checksums is crucial for security to ensure the integrity and authenticity of downloaded files. This suggestion is highly relevant and addresses a significant security concern.

    10
    Enhancement
    Initialize v125Target with DevTools instance for proper context

    Consider initializing the v125Target with the DevTools instance to ensure it has all
    necessary context for operations.

    java/src/org/openqa/selenium/devtools/v125/v125Domains.java [43]

    -target = new v125Target();
    +target = new v125Target(devtools);
     
    Suggestion importance[1-10]: 7

    Why: This suggestion is beneficial as it ensures that the v125Target class is properly initialized with the necessary DevTools context, which is crucial for its operations. This enhances maintainability and correctness of the class instantiation.

    7
    Handle absent optional parameters in setUserAgentOverride method

    Ensure that the setUserAgentOverride method handles the case where optional parameters are
    not present, by providing default values or handling the absence more explicitly.

    java/src/org/openqa/selenium/devtools/v125/v125Network.java [49-51]

     return org.openqa.selenium.devtools.v125.network.Network.setUserAgentOverride(
    -  userAgent.userAgent(), userAgent.acceptLanguage(), userAgent.platform(), Optional.empty());
    +  userAgent.userAgent(), 
    +  userAgent.acceptLanguage().orElse("defaultLanguage"), 
    +  userAgent.platform().orElse("defaultPlatform"), 
    +  Optional.empty());
     
    Suggestion importance[1-10]: 6

    Why: The suggestion is valid as it improves the robustness of the setUserAgentOverride method by providing default values for optional parameters. This makes the method more fault-tolerant and clear in cases where some parameters might not be provided.

    6
    Possible issue
    Add null checks in the constructor to ensure parameters are not null

    To enhance the robustness of the V125Network constructor, consider adding null checks for
    the parameters network and fetch to prevent potential runtime errors.

    dotnet/src/webdriver/DevTools/v125/V125Network.cs [41]

     public V125Network(NetworkAdapter network, FetchAdapter fetch)
    +{
    +    if (network == null) throw new ArgumentNullException(nameof(network));
    +    if (fetch == null) throw new ArgumentNullException(nameof(fetch));
    +    this.network = network;
    +    this.fetch = fetch;
    +}
     
    Suggestion importance[1-10]: 7

    Why: Adding null checks is a good practice to avoid runtime errors, making this suggestion quite beneficial.

    7
    Verify compatibility of updated Guava library version

    Consider verifying the compatibility of the updated com.google.guava:guava library version
    with the existing project dependencies. Guava updates can introduce backward-incompatible
    changes that might affect other components.

    MODULE.bazel [162]

    -"com.google.guava:guava:33.2.0-jre",
    +"com.google.guava:guava:33.2.0-jre",  # Ensure compatibility with other project dependencies
     
    Suggestion importance[1-10]: 7

    Why: The suggestion to verify compatibility of the updated Guava library is relevant given that Guava updates can indeed introduce breaking changes. This is a proactive measure to prevent potential integration issues.

    7
    Ensure compatibility and integration of updated OpenTelemetry libraries

    Ensure that the newly added io.opentelemetry libraries are compatible with each other and
    with the existing system. The update from 1.37.0 to 1.38.0 for multiple related libraries
    should be tested thoroughly.

    MODULE.bazel [179-187]

    -"io.opentelemetry:opentelemetry-api:1.38.0",
    +"io.opentelemetry:opentelemetry-api:1.38.0",  # Confirm compatibility and successful integration tests
     "io.opentelemetry:opentelemetry-context:1.38.0",
     "io.opentelemetry:opentelemetry-exporter-logging:1.38.0",
     "io.opentelemetry:opentelemetry-sdk:1.38.0",
     "io.opentelemetry:opentelemetry-sdk-common:1.38.0",
     "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.38.0",
     "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.38.0",
     "io.opentelemetry:opentelemetry-sdk-testing:1.38.0",
     "io.opentelemetry:opentelemetry-sdk-trace:1.38.0",
     
    Suggestion importance[1-10]: 7

    Why: This suggestion is valid as it addresses the need to ensure that multiple related libraries from the same suite (OpenTelemetry) updated together are compatible with each other and the existing system. This is crucial for maintaining system stability.

    7
    Review the impact of Byte Buddy update on dynamic features

    Review the necessity of updating net.bytebuddy:byte-buddy to version 1.14.15, as this
    library is critical for bytecode manipulation and might impact the stability of dynamic
    features.

    MODULE.bazel [191]

    -"net.bytebuddy:byte-buddy:1.14.15",
    +"net.bytebuddy:byte-buddy:1.14.15",  # Confirm stability and compatibility with dynamic features
     
    Suggestion importance[1-10]: 6

    Why: The suggestion to review the necessity and impact of updating Byte Buddy is relevant because it is critical for bytecode manipulation. Ensuring compatibility and stability with dynamic features is important, though the impact might not be as immediate or critical as other dependencies.

    6
    Validate the updated Mockito version for test reliability

    Validate that the updated org.mockito:mockito-core version does not introduce any breaking
    changes, especially in the unit testing framework, to maintain the reliability of tests.

    MODULE.bazel [206]

    -"org.mockito:mockito-core:5.12.0",
    +"org.mockito:mockito-core:5.12.0",  # Ensure no breaking changes in unit tests
     
    Suggestion importance[1-10]: 6

    Why: Validating the updated version of Mockito to ensure no breaking changes in unit tests is a good practice. This suggestion is relevant as it directly impacts the reliability of the testing framework, though it is a routine check typically covered by existing tests.

    6
    Possible bug
    Validate locator parameter to ensure it is the correct type

    Ensure that the locator parameter in locateNodes is validated to be an instance of Locator
    before proceeding with its methods, to prevent runtime errors.

    javascript/node/selenium-webdriver/bidi/browsingContext.js [512-517]

     async locateNodes(
       locator,
       maxNodeCount = undefined,
       sandbox = undefined,
       serializationOptions = undefined,
       startNodes = undefined,
    +{
    +  if (!(locator instanceof Locator)) {
    +    throw new Error('locator must be an instance of Locator');
    +  }
     
    Suggestion importance[1-10]: 7

    Why: Ensuring the correct type of locator is essential to prevent runtime errors, making this a valuable suggestion.

    7

    diemol added a commit that referenced this pull request May 16, 2024
    * update Rust version to 0.4.21
    
    * Rust Changelog
    
    * [build] Prepare for release of Selenium 4.21.0 (#13945)
    
    * Update pinned browser versions
    
    * Update supported versions for Chrome DevTools
    
    * Update selenium manager version
    
    * Update authors file
    
    Update versions and change logs to release Selenium 4.21.0
    
    * [create-pull-request] automated change
    
    * [js] Running format script
    
    * [java] Enabling some Chrome tests work with BiDi
    
    * [dotnet] Using CDP 124 in the meantime
    
    * [dotnet] Excluding Edge until CDP 125 is available for it
    
    * [java] Enabling bidi tests for Chrome
    
    * [rb] Enabling bidi tests
    
    * [bidi] Remove root ownership parameter due to update in BiDi spec
    
    * Updating changelogs
    
    ---------
    
    Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
    Co-authored-by: Diego Molina <diemol@users.noreply.github.com>
    Co-authored-by: Diego Molina <diemol@gmail.com>
    Co-authored-by: Puja Jagani <puja.jagani93@gmail.com>
    
    * Updating changelogs
    
    [skip ci]
    
    ---------
    
    Co-authored-by: Selenium CI Bot <selenium-ci@users.noreply.github.com>
    Co-authored-by: Selenium CI Bot <diemol+selenium-ci@gmail.com>
    Co-authored-by: Puja Jagani <puja.jagani93@gmail.com>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    None yet

    3 participants