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

[rb] Per-browser test targets and RBE #13683

Merged
merged 8 commits into from
Mar 15, 2024
Merged

[rb] Per-browser test targets and RBE #13683

merged 8 commits into from
Mar 15, 2024

Conversation

p0deje
Copy link
Member

@p0deje p0deje commented Mar 12, 2024

User description

Follow up to #13661.

This PR generates per-browser test targets in Bazel and hooks them into RBE. See documentation in README for how targets are generated from RSpec files.


Type

enhancement, tests


Description

  • Updated Firefox versions and SHA256 checksums for Linux and macOS.
  • Updated Edge versions and SHA256 checksums for macOS.
  • Updated Chrome versions and SHA256 checksums for Linux and macOS.
  • Refactored to generate per-browser test targets for Ruby integration tests.
  • Added support for specifying browsers and handling remote execution.
  • Updated GitHub Actions workflows to use setup-bazel action version 0.8.1.
  • Modified Ruby CI workflow to use --build_tests_only and --test_size_filters.
  • Updated skipped test entries for Ruby integration tests with new naming convention.
  • Updated Ruby test commands and descriptions to reflect new test target generation logic.
  • Added new environment variables for custom driver paths.
  • Removed @NotYetImplemented(FIREFOX) annotations from multiple Java test methods, enabling tests for Firefox.

Changes walkthrough

Relevant files
Tests
6 files
LocateNodesTest.java
Enable LocateNodes Tests for Firefox in Bidi BrowsingContext

java/test/org/openqa/selenium/bidi/browsingcontext/LocateNodesTest.java

  • Removed @NotYetImplemented(FIREFOX) annotations from multiple test
    methods.
  • +0/-11   
    NetworkEventsTest.java
    Enable NetworkEvents Test for Firefox                                       

    java/test/org/openqa/selenium/bidi/network/NetworkEventsTest.java

  • Removed @NotYetImplemented(FIREFOX) annotation from
    canListenToFetchError test method.
  • +0/-2     
    BUILD.bazel
    Restrict Chrome Integration Tests to Chrome Browser           

    rb/spec/integration/selenium/webdriver/chrome/BUILD.bazel

  • Specified chrome as the only browser for Chrome-specific integration
    tests.
  • +1/-1     
    BUILD.bazel
    Restrict Edge Integration Tests to Edge Browser                   

    rb/spec/integration/selenium/webdriver/edge/BUILD.bazel

  • Specified edge as the only browser for Edge-specific integration
    tests.
  • +1/-1     
    BUILD.bazel
    Restrict Firefox Integration Tests to Firefox Browsers     

    rb/spec/integration/selenium/webdriver/firefox/BUILD.bazel

  • Specified firefox and firefox-beta as the browsers for
    Firefox-specific integration tests.
  • +6/-1     
    BUILD.bazel
    Restrict Safari Integration Tests to Safari Browsers         

    rb/spec/integration/selenium/webdriver/safari/BUILD.bazel

  • Specified safari and safari-preview as the browsers for
    Safari-specific integration tests.
  • +5/-1     
    Enhancement
    2 files
    test_environment.rb
    Support Custom Edge and Firefox Driver Paths in Ruby Tests

    rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb

  • Added environment variable checks for MSEDGEDRIVER_BINARY and
    GECKODRIVER_BINARY.
  • Modified firefox_options to not specifically set browser_version to
    'stable'.
  • +4/-2     
    tests.bzl
    Generate Per-Browser Test Targets for Ruby Integration Tests

    rb/spec/tests.bzl

  • Refactored to generate per-browser test targets for Ruby integration
    tests.
  • Added support for specifying browsers and handling remote execution.
  • +174/-61
    Documentation
    2 files
    browsers.bzl
    Document `no-sandbox` Usage for Firefox in Bazel Config   

    common/browsers.bzl

  • Added comments regarding the use of no-sandbox for Firefox due to a
    bug.
  • +3/-0     
    README.md
    Update Ruby Test Commands and Environment Variables in README

    README.md

  • Updated Ruby test commands and descriptions to reflect new test target
    generation logic.
  • Added new environment variables for custom driver paths.
  • +32/-21 
    Configuration changes
    9 files
    repositories.bzl
    Update Pinned Browser Versions and Checksums                         

    common/repositories.bzl

  • Updated Firefox versions and SHA256 checksums for Linux and macOS.
  • Updated Edge versions and SHA256 checksums for macOS.
  • Updated Chrome versions and SHA256 checksums for Linux and macOS.
  • +28/-28 
    bazel.yml
    Update GitHub Actions Workflow for Bazel Setup                     

    .github/workflows/bazel.yml

    • Updated setup-bazel action version to 0.8.1.
    +2/-2     
    ci-ruby.yml
    Refine Ruby CI Workflow Commands                                                 

    .github/workflows/ci-ruby.yml

  • Modified Ruby CI workflow to use --build_tests_only and
    --test_size_filters.
  • Adjusted test command to include all Ruby specs.
  • +13/-6   
    ci.yml
    Update GitHub Actions Workflow for Bazel Setup                     

    .github/workflows/ci.yml

    • Updated setup-bazel action version to 0.8.1.
    +1/-1     
    .skipped-tests
    Update Skipped Tests List with New Naming Convention         

    .skipped-tests

  • Updated skipped test entries for Ruby integration tests with new
    naming convention.
  • +4/-3     
    BUILD.bazel
    Adjust Visibility for Ruby Spec Subpackages in Bazel Build File

    common/extensions/BUILD.bazel

    • Modified visibility for //rb/spec:__subpackages__.
    +1/-1     
    BUILD.bazel
    Update Dependencies for Ruby Spec Library Target                 

    rb/spec/BUILD.bazel

    • Updated dependencies for the Ruby spec library target.
    +4/-2     
    BUILD.bazel
    Simplify Dependencies for Ruby WebDriver Integration Tests

    rb/spec/integration/selenium/webdriver/BUILD.bazel

  • Removed explicit dependencies from driver and element test targets.
  • +2/-28   
    BUILD.bazel
    Simplify Dependencies for Ruby Remote WebDriver Integration Tests

    rb/spec/integration/selenium/webdriver/remote/BUILD.bazel

  • Removed explicit dependencies from remote WebDriver integration test
    targets.
  • +0/-1     

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

    Copy link
    Contributor

    qodo-merge-pro bot commented Mar 12, 2024

    CI Failure Feedback

    (Checks updated until commit 30e2bf8)

    Action: Test / All RBE tests

    Failed stage: Run Bazel [❌]

    Failed test name: CorrectEventFiringTest-edge

    Failure summary:

    The action failed due to a test failure in the CorrectEventFiringTest-edge test suite. Specifically,
    the test ClickingAnUnfocusableChildShouldNotBlurTheParent failed because it expected a True
    condition but received False. Additionally, there was a TearDown Error in
    OpenQA.Selenium.AssemblyTeardown due to a System.Net.Http.HttpRequestException indicating an error
    occurred while sending the request, which was caused by a SocketException.

    Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    295:  After this operation, 1616 MB disk space will be freed.
    296:  Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]
    297:  Get:2 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 aspnetcore-targeting-pack-6.0 amd64 6.0.127-0ubuntu1~22.04.1 [1458 kB]
    298:  Ign:3 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 aspnetcore-targeting-pack-7.0 amd64 7.0.116-0ubuntu1~22.04.1
    299:  Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 aspnetcore-targeting-pack-7.0 amd64 7.0.116-0ubuntu1~22.04.1
    300:  Ign:3 http://security.ubuntu.com/ubuntu jammy-updates/universe amd64 aspnetcore-targeting-pack-7.0 amd64 7.0.116-0ubuntu1~22.04.1
    301:  Err:3 mirror+file:/etc/apt/apt-mirrors.txt jammy-updates/universe amd64 aspnetcore-targeting-pack-7.0 amd64 7.0.116-0ubuntu1~22.04.1
    302:  404  Not Found [IP: 52.147.219.192 80]
    303:  E: Failed to fetch mirror+file:/etc/apt/apt-mirrors.txt/pool/universe/d/dotnet7/aspnetcore-targeting-pack-7.0_7.0.116-0ubuntu1%7e22.04.1_amd64.deb  404  Not Found [IP: 52.147.219.192 80]
    ...
    
    826:  Package 'php-symfony-debug-bundle' is not installed, so not removed
    827:  Package 'php-symfony-dependency-injection' is not installed, so not removed
    828:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
    829:  Package 'php-symfony-discord-notifier' is not installed, so not removed
    830:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
    831:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
    832:  Package 'php-symfony-dom-crawler' is not installed, so not removed
    833:  Package 'php-symfony-dotenv' is not installed, so not removed
    834:  Package 'php-symfony-error-handler' is not installed, so not removed
    ...
    
    1567:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1568:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1569:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1570:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1571:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1572:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1573:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1574:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    1575:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350: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
    ...
    
    1650:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350:19: runfiles symlink javascript/atoms/test/type_test.html -> javascript/atoms/test/type_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1651:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350:19: runfiles symlink javascript/atoms/test/useragent_quirks_test.html -> javascript/atoms/test/useragent_quirks_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1652:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350:19: runfiles symlink javascript/atoms/test/useragent_test.html -> javascript/atoms/test/useragent_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1653:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350:19: runfiles symlink javascript/atoms/test/useragent_test.js -> javascript/atoms/test/useragent_test.js obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1654:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350:19: runfiles symlink javascript/atoms/test/window_scroll_into_view_test.html -> javascript/atoms/test/window_scroll_into_view_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1655:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350:19: runfiles symlink javascript/atoms/test/window_scroll_test.html -> javascript/atoms/test/window_scroll_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1656:  (19:22:13) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:350:19: runfiles symlink javascript/atoms/test/window_size_test.html -> javascript/atoms/test/window_size_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1657:  (19:22:14) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (65 source files):
    1658:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1659:  private final ErrorCodes errorCodes;
    1660:  ^
    1661:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1662:  this.errorCodes = new ErrorCodes();
    1663:  ^
    1664:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1665:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1666:  ^
    1667:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1668:  ErrorCodes errorCodes = new ErrorCodes();
    1669:  ^
    1670:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1671:  ErrorCodes errorCodes = new ErrorCodes();
    1672:  ^
    1673:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:206: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1674:  response.setStatus(ErrorCodes.SUCCESS);
    1675:  ^
    1676:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:207: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1677:  response.setState(ErrorCodes.SUCCESS_STRING);
    1678:  ^
    1679:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1680:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1681:  ^
    1682:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1683:  new ErrorCodes().getExceptionType((String) rawError);
    1684:  ^
    1685:  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
    1686:  private final ErrorCodes errorCodes = new ErrorCodes();
    1687:  ^
    1688:  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
    1689:  private final ErrorCodes errorCodes = new ErrorCodes();
    1690:  ^
    1691:  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
    1692:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1693:  ^
    1694:  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
    1695:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1696:  ^
    1697:  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
    1698:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1699:  ^
    1700:  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
    1701:  response.setStatus(ErrorCodes.SUCCESS);
    1702:  ^
    1703:  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
    1704:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1705:  ^
    1706:  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
    1707:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1708:  ^
    1709:  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
    1710:  private final ErrorCodes errorCodes = new ErrorCodes();
    1711:  ^
    1712:  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
    1713:  private final ErrorCodes errorCodes = new ErrorCodes();
    1714:  ^
    1715:  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
    1716:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1717:  ^
    1718:  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
    1719:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1720:  ^
    1721:  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
    1722:  response.setStatus(ErrorCodes.SUCCESS);
    1723:  ^
    1724:  (19:22:17) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (65 source files):
    1725:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1726:  private final ErrorCodes errorCodes;
    1727:  ^
    1728:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1729:  this.errorCodes = new ErrorCodes();
    1730:  ^
    1731:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1732:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1733:  ^
    1734:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1735:  ErrorCodes errorCodes = new ErrorCodes();
    1736:  ^
    1737:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1738:  ErrorCodes errorCodes = new ErrorCodes();
    1739:  ^
    1740:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:206: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1741:  response.setStatus(ErrorCodes.SUCCESS);
    1742:  ^
    1743:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:207: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1744:  response.setState(ErrorCodes.SUCCESS_STRING);
    1745:  ^
    1746:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1747:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1748:  ^
    1749:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1750:  new ErrorCodes().getExceptionType((String) rawError);
    1751:  ^
    1752:  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
    1753:  private final ErrorCodes errorCodes = new ErrorCodes();
    1754:  ^
    1755:  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
    1756:  private final ErrorCodes errorCodes = new ErrorCodes();
    1757:  ^
    1758:  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
    1759:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1760:  ^
    1761:  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
    1762:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1763:  ^
    1764:  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
    1765:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1766:  ^
    1767:  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
    1768:  response.setStatus(ErrorCodes.SUCCESS);
    1769:  ^
    1770:  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
    1771:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1772:  ^
    1773:  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
    1774:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1775:  ^
    1776:  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
    1777:  private final ErrorCodes errorCodes = new ErrorCodes();
    1778:  ^
    1779:  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
    1780:  private final ErrorCodes errorCodes = new ErrorCodes();
    1781:  ^
    1782:  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
    1783:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1784:  ^
    1785:  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
    1786:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1787:  ^
    1788:  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
    1789:  response.setStatus(ErrorCodes.SUCCESS);
    ...
    
    1844:  * `Zip::InputStream`
    1845:  * `Zip::OutputStream`
    1846:  Please ensure that your Gemfiles and .gemspecs are suitably restrictive
    1847:  to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
    1848:  See https://github.com/rubyzip/rubyzip for details. The Changelog also
    1849:  lists other enhancements and bugfixes that have been implemented since
    1850:  version 2.3.0.
    1851:  (19:22:19) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/grid/web/libweb.jar (19 source files):
    1852:  java/src/org/openqa/selenium/grid/web/NoHandler.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1853:  import static org.openqa.selenium.remote.ErrorCodes.UNKNOWN_COMMAND;
    1854:  ^
    1855:  (19:22:23) �[32m[9,882 / 11,245]�[0m 73 / 1559 tests;�[0m Copying directory external/npm/_/node_modules/@mui/icons-material; 4s local ... (49 actions, 27 running)
    1856:  (19:22:28) �[32m[10,459 / 11,750]�[0m 74 / 1559 tests;�[0m Copying directory external/npm/_/node_modules/@mui/icons-material; 9s local ... (50 actions, 35 running)
    1857:  (19:22:33) �[32m[10,878 / 12,062]�[0m 83 / 1559 tests;�[0m Testing //dotnet/test/support/Extensions:ExecuteJavaScriptTest; 9s remote ... (49 actions, 10 running)
    1858:  (19:22:33) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/grid/web/libweb.jar (19 source files):
    1859:  java/src/org/openqa/selenium/grid/web/NoHandler.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1860:  import static org.openqa.selenium.remote.ErrorCodes.UNKNOWN_COMMAND;
    ...
    
    1876:  The build folder is ready to be deployed.
    1877:  Find out more about deployment here:
    1878:  https://cra.link/deployment
    1879:  (19:22:38) �[32m[11,048 / 12,144]�[0m 161 / 1559 tests;�[0m Testing //dotnet/test/support/Extensions:ExecuteJavaScriptTest; 14s remote ... (48 actions, 10 running)
    1880:  (19:22:43) �[32m[11,230 / 12,265]�[0m 281 / 1559 tests;�[0m Testing //dotnet/test/support/Extensions:ExecuteJavaScriptTest; 19s remote ... (48 actions, 10 running)
    1881:  (19:22:48) �[32m[11,386 / 12,378]�[0m 391 / 1559 tests;�[0m Testing //dotnet/test/support/Extensions:ExecuteJavaScriptTest; 24s remote ... (50 actions, 12 running)
    1882:  (19:22:53) �[32m[11,564 / 12,499]�[0m 512 / 1559 tests;�[0m Testing //dotnet/test/support/Extensions:ExecuteJavaScriptTest; 29s remote ... (50 actions, 12 running)
    1883:  (19:22:54) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
    1884:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1885:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    1886:  ^
    1887:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1888:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    1889:  ^
    1890:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1891:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
    1892:  ^
    1893:  (19:22:55) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
    1894:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1895:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
    1896:  ^
    1897:  (19:22:55) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
    1898:  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
    1899:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
    1900:  ^
    1901:  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
    1902:  assertThat(decoded.getStatus().intValue()).isEqualTo(ErrorCodes.SUCCESS);
    1903:  ^
    1904:  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
    1905:  assertThat(decoded.getStatus().intValue()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    1906:  ^
    1907:  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
    1908:  assertThat(decoded.getStatus().intValue()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    ...
    
    1927:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
    1928:  ^
    1929:  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
    1930:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
    1931:  ^
    1932:  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
    1933:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
    1934:  ^
    1935:  (19:22:56) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    1936:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1937:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
    1938:  ^
    1939:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1940:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    1941:  ^
    1942:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1943:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    1944:  ^
    1945:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1946:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    1947:  ^
    1948:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1949:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    1950:  ^
    1951:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1952:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
    1953:  ^
    1954:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1955:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    1956:  ^
    1957:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1958:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    1959:  ^
    1960:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1961:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    1962:  ^
    1963:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1964:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
    1965:  ^
    1966:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1967:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
    1968:  ^
    1969:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1970:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
    1971:  ^
    1972:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1973:  ErrorCodes.UNHANDLED_ERROR,
    1974:  ^
    1975:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1976:  ErrorCodes.UNHANDLED_ERROR,
    1977:  ^
    1978:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1979:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    1980:  ^
    1981:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1982:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    1983:  ^
    1984:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1985:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    1986:  ^
    1987:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1988:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    1989:  ^
    1990:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1991:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    1992:  ^
    1993:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1994:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    1995:  ^
    1996:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1997:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    1998:  ^
    1999:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2000:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2001:  ^
    2002:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2003:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2004:  ^
    2005:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2006:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
    2007:  ^
    2008:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2009:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2010:  ^
    2011:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2012:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2013:  ^
    2014:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2015:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2016:  ^
    2017:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2018:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2019:  ^
    2020:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2021:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2022:  ^
    2023:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2024:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
    2025:  ^
    2026:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2027:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
    2028:  ^
    2029:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2030:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2031:  ^
    2032:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2033:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
    2034:  ^
    2035:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2036:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2037:  ^
    2038:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2039:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
    2040:  ^
    2041:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2042:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
    2043:  ^
    2044:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2045:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
    2046:  ^
    2047:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2048:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
    2049:  ^
    2050:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2051:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
    2052:  ^
    2053:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2054:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
    2055:  ^
    2056:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2057:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
    2058:  ^
    2059:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2060:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
    2061:  ^
    2062:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2063:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
    2064:  ^
    2065:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2066:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
    2067:  ^
    2068:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2069:  ? ErrorCodes.INVALID_SELECTOR_ERROR
    2070:  ^
    2071:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2072:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
    2073:  ^
    2074:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2075:  response.setState(new ErrorCodes().toState(status));
    2076:  ^
    2077:  (19:22:58) �[32m[11,755 / 12,629]�[0m 647 / 1559 tests;�[0m Testing //dotnet/test/support/Extensions:ExecuteJavaScriptTest; 34s remote ... (45 actions, 12 running)
    2078:  (19:23:01) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2079:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2080:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2081:  ^
    2082:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2083:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2084:  ^
    2085:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2086:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2087:  ^
    2088:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2089:  private final ErrorCodes errorCodes = new ErrorCodes();
    2090:  ^
    2091:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2092:  private final ErrorCodes errorCodes = new ErrorCodes();
    2093:  ^
    2094:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2095:  private final ErrorCodes errorCodes = new ErrorCodes();
    2096:  ^
    2097:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2098:  private final ErrorCodes errorCodes = new ErrorCodes();
    ...
    
    2170:  (19:29:38) �[32m[13,461 / 13,498]�[0m 1522 / 1559 tests;�[0m Testing //dotnet/test/common:CorrectEventFiringTest-firefox; 333s remote ... (37 actions running)
    2171:  (19:29:45) �[32m[13,467 / 13,498]�[0m 1528 / 1559 tests;�[0m Testing //dotnet/test/common:CorrectEventFiringTest-firefox; 339s remote ... (31 actions running)
    2172:  (19:29:50) �[32m[13,473 / 13,498]�[0m 1534 / 1559 tests;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 46s remote ... (25 actions running)
    2173:  (19:29:55) �[32m[13,479 / 13,498]�[0m 1540 / 1559 tests;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 51s remote ... (19 actions running)
    2174:  (19:30:00) �[32m[13,483 / 13,498]�[0m 1544 / 1559 tests;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 56s remote ... (15 actions running)
    2175:  (19:30:05) �[32m[13,486 / 13,498]�[0m 1547 / 1559 tests;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 62s remote ... (12 actions running)
    2176:  (19:30:11) �[32m[13,488 / 13,498]�[0m 1549 / 1559 tests;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 67s remote ... (10 actions running)
    2177:  (19:30:11) �[31m�[1mFAIL: �[0m//dotnet/test/common:CorrectEventFiringTest-edge (see /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild-ST-5ed0eea50982/testlogs/dotnet/test/common/CorrectEventFiringTest-edge/test.log)
    2178:  �[31m�[1mFAILED: �[0m//dotnet/test/common:CorrectEventFiringTest-edge (Summary)
    ...
    
    2220:  => OpenQA.Selenium.CorrectEventFiringTest.ShouldFireFocusEventInNonTopmostWindow
    2221:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2222:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2223:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2224:  => OpenQA.Selenium.CorrectEventFiringTest
    2225:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2226:  => OpenQA.Selenium.AssemblyTeardown
    2227:  Standalone jar is /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild-ST-5ed0eea50982/bin/dotnet/test/common/CorrectEventFiringTest-edge/net7.0/WebDriver.Common.Tests.dll.sh.runfiles/selenium/java/test/org/openqa/selenium/environment/appserver 36621
    2228:  Errors, Failures and Warnings
    2229:  1) TearDown Error : OpenQA.Selenium.AssemblyTeardown
    2230:  One or more child tests had errors
    2231:  TearDown : System.Net.Http.HttpRequestException : An error occurred while sending the request.
    ...
    
    2236:  at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
    2237:  at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
    2238:  at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
    2239:  at OpenQA.Selenium.Environment.TestWebServer.Stop()
    2240:  at OpenQA.Selenium.AssemblyTeardown.RunAfterAnyTests()
    2241:  at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    2242:  at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
    2243:  --IOException
    2244:  at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
    2245:  at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
    2246:  at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)
    2247:  at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
    2248:  --SocketException
    2249:  2) Failed : OpenQA.Selenium.CorrectEventFiringTest.ClickingAnUnfocusableChildShouldNotBlurTheParent
    ...
    
    2251:  Expected: True
    2252:  But was:  False
    2253:  at OpenQA.Selenium.CorrectEventFiringTest.ClickingAnUnfocusableChildShouldNotBlurTheParent()
    2254:  Run Settings
    2255:  Number of Test Workers: 2
    2256:  Work Directory: /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild-ST-5ed0eea50982/bin/dotnet/test/common/CorrectEventFiringTest-edge/net7.0/WebDriver.Common.Tests.dll.sh.runfiles/selenium
    2257:  Internal Trace: Off
    2258:  Test Run Summary
    2259:  Overall result: Failed
    2260:  Test Count: 32, Passed: 31, Failed: 1, Warnings: 0, Inconclusive: 0, Skipped: 0
    2261:  Failed Tests - Failures: 1, Errors: 0, Invalid: 0
    ...
    
    2307:  => OpenQA.Selenium.CorrectEventFiringTest.ShouldFireFocusEventInNonTopmostWindow
    2308:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2309:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2310:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2311:  => OpenQA.Selenium.CorrectEventFiringTest
    2312:  Creating new driver of OpenQA.Selenium.Edge.StableChannelEdgeDriver type...
    2313:  => OpenQA.Selenium.AssemblyTeardown
    2314:  Standalone jar is /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild-ST-5ed0eea50982/bin/dotnet/test/common/CorrectEventFiringTest-edge/net7.0/WebDriver.Common.Tests.dll.sh.runfiles/selenium/java/test/org/openqa/selenium/environment/appserver 38791
    2315:  Errors, Failures and Warnings
    2316:  1) TearDown Error : OpenQA.Selenium.AssemblyTeardown
    2317:  One or more child tests had errors
    2318:  TearDown : System.Net.Http.HttpRequestException : An error occurred while sending the request.
    ...
    
    2323:  at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
    2324:  at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
    2325:  at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
    2326:  at OpenQA.Selenium.Environment.TestWebServer.Stop()
    2327:  at OpenQA.Selenium.AssemblyTeardown.RunAfterAnyTests()
    2328:  at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    2329:  at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
    2330:  --IOException
    2331:  at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
    2332:  at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
    2333:  at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)
    2334:  at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
    2335:  --SocketException
    2336:  2) Failed : OpenQA.Selenium.CorrectEventFiringTest.ClickingAnUnfocusableChildShouldNotBlurTheParent
    ...
    
    2338:  Expected: True
    2339:  But was:  False
    2340:  at OpenQA.Selenium.CorrectEventFiringTest.ClickingAnUnfocusableChildShouldNotBlurTheParent()
    2341:  Run Settings
    2342:  Number of Test Workers: 2
    2343:  Work Directory: /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild-ST-5ed0eea50982/bin/dotnet/test/common/CorrectEventFiringTest-edge/net7.0/WebDriver.Common.Tests.dll.sh.runfiles/selenium
    2344:  Internal Trace: Off
    2345:  Test Run Summary
    2346:  Overall result: Failed
    2347:  Test Count: 32, Passed: 31, Failed: 1, Warnings: 0, Inconclusive: 0, Skipped: 0
    2348:  Failed Tests - Failures: 1, Errors: 0, Invalid: 0
    2349:  Start time: 2024-03-15 19:29:38Z
    2350:  End time: 2024-03-15 19:30:09Z
    2351:  Duration: 31.629 seconds
    2352:  Results (nunit3) saved as /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild-ST-5ed0eea50982/bin/dotnet/test/common/CorrectEventFiringTest-edge/net7.0/WebDriver.Common.Tests.dll.sh.runfiles/selenium/TestResult.xml
    2353:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChDCOX-_ev9N_IIDhu4ZbnawEgdkZWZhdWx0GiUKINHXip2Ux8LvZnjd23Zl6YbmP__tDxQYfClX6GzCbNAhEJ8D
    2354:  ================================================================================
    2355:  (19:30:11) �[32mINFO: �[0mFrom Testing //dotnet/test/common:CorrectEventFiringTest-edge:
    2356:  (19:30:19) �[32m[13,491 / 13,498]�[0m 1552 / 1559 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 75s remote ... (7 actions running)
    2357:  (19:30:25) �[32m[13,493 / 13,498]�[0m 1554 / 1559 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 81s remote ... (5 actions running)
    2358:  (19:30:34) �[32m[13,494 / 13,498]�[0m 1555 / 1559 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 90s remote ... (4 actions running)
    2359:  (19:30:40) �[32m[13,495 / 13,498]�[0m 1556 / 1559 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 96s remote ... (3 actions running)
    2360:  (19:30:45) �[32m[13,496 / 13,498]�[0m 1557 / 1559 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 101s remote ... (2 actions running)
    2361:  (19:30:54) �[32m[13,496 / 13,498]�[0m 1557 / 1559 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 110s remote ... (2 actions running)
    2362:  (19:31:18) �[32m[13,496 / 13,498]�[0m 1557 / 1559 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PageLoadingTest-firefox; 134s remote ... (2 actions running)
    2363:  (19:31:22) �[32mINFO: �[0mElapsed time: 644.439s, Critical Path: 468.02s
    2364:  (19:31:22) �[32mINFO: �[0m13498 processes: 6599 remote cache hit, 5116 internal, 1345 local, 438 remote.
    2365:  (19:31:22) �[32mINFO:�[0m Build completed, 1 test FAILED, 13498 total actions
    ...
    
    2560:  //java/test/org/openqa/selenium:ElementFindingTest-firefox-dev  �[0m�[32m(cached) PASSED�[0m in 51.6s
    2561:  //java/test/org/openqa/selenium:ElementFindingTest-spotbugs     �[0m�[32m(cached) PASSED�[0m in 13.0s
    2562:  //java/test/org/openqa/selenium:ElementSelectingTest            �[0m�[32m(cached) PASSED�[0m in 32.8s
    2563:  //java/test/org/openqa/selenium:ElementSelectingTest-chrome     �[0m�[32m(cached) PASSED�[0m in 15.7s
    2564:  //java/test/org/openqa/selenium:ElementSelectingTest-edge       �[0m�[32m(cached) PASSED�[0m in 29.5s
    2565:  //java/test/org/openqa/selenium:ElementSelectingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 32.6s
    2566:  //java/test/org/openqa/selenium:ElementSelectingTest-firefox-dev �[0m�[32m(cached) PASSED�[0m in 31.8s
    2567:  //java/test/org/openqa/selenium:ElementSelectingTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 8.8s
    2568:  //java/test/org/openqa/selenium:ErrorsTest                      �[0m�[32m(cached) PASSED�[0m in 17.4s
    2569:  //java/test/org/openqa/selenium:ErrorsTest-chrome               �[0m�[32m(cached) PASSED�[0m in 11.6s
    2570:  //java/test/org/openqa/selenium:ErrorsTest-edge                 �[0m�[32m(cached) PASSED�[0m in 14.6s
    2571:  //java/test/org/openqa/selenium:ErrorsTest-firefox-beta         �[0m�[32m(cached) PASSED�[0m in 17.1s
    2572:  //java/test/org/openqa/selenium:ErrorsTest-firefox-dev          �[0m�[32m(cached) PASSED�[0m in 18.9s
    2573:  //java/test/org/openqa/selenium:ErrorsTest-spotbugs             �[0m�[32m(cached) PASSED�[0m in 7.8s
    ...
    
    3227:  //java/test/org/openqa/selenium/os:ExternalProcessTest          �[0m�[32m(cached) PASSED�[0m in 3.1s
    3228:  //java/test/org/openqa/selenium/os:ExternalProcessTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 9.5s
    3229:  //java/test/org/openqa/selenium/os:OsProcessTest                �[0m�[32m(cached) PASSED�[0m in 5.0s
    3230:  //java/test/org/openqa/selenium/os:OsProcessTest-spotbugs       �[0m�[32m(cached) PASSED�[0m in 8.1s
    3231:  //java/test/org/openqa/selenium/remote:AugmenterTest            �[0m�[32m(cached) PASSED�[0m in 6.1s
    3232:  //java/test/org/openqa/selenium/remote:AugmenterTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 12.7s
    3233:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest  �[0m�[32m(cached) PASSED�[0m in 2.4s
    3234:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 10.9s
    3235:  //java/test/org/openqa/selenium/remote:ErrorCodecTest           �[0m�[32m(cached) PASSED�[0m in 2.1s
    3236:  //java/test/org/openqa/selenium/remote:ErrorCodecTest-spotbugs  �[0m�[32m(cached) PASSED�[0m in 10.4s
    3237:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest         �[0m�[32m(cached) PASSED�[0m in 2.7s
    3238:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 11.6s
    ...
    
    3542:  //py:common-firefox-test/selenium/webdriver/support/expected_conditions_tests.py �[0m�[32m(cached) PASSED�[0m in 10.8s
    3543:  //py:common-firefox-test/selenium/webdriver/support/relative_by_tests.py �[0m�[32m(cached) PASSED�[0m in 7.9s
    3544:  //py:test-chrome-test/selenium/webdriver/chrome/chrome_network_emulation_tests.py �[0m�[32m(cached) PASSED�[0m in 4.3s
    3545:  //py:unit-test/unit/selenium/webdriver/chrome/chrome_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.2s
    3546:  //py:unit-test/unit/selenium/webdriver/common/common_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.5s
    3547:  //py:unit-test/unit/selenium/webdriver/common/print_page_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.4s
    3548:  //py:unit-test/unit/selenium/webdriver/edge/edge_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.1s
    3549:  //py:unit-test/unit/selenium/webdriver/firefox/firefox_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.7s
    3550:  //py:unit-test/unit/selenium/webdriver/remote/error_handler_tests.py �[0m�[32m(cached) PASSED�[0m in 2.9s
    ...
    
    3563:  //rb/spec/integration/selenium/webdriver:driver-chrome          �[0m�[32m(cached) PASSED�[0m in 27.0s
    3564:  //rb/spec/integration/selenium/webdriver:driver-edge            �[0m�[32m(cached) PASSED�[0m in 38.5s
    3565:  //rb/spec/integration/selenium/webdriver:driver-firefox         �[0m�[32m(cached) PASSED�[0m in 50.7s
    3566:  //rb/spec/integration/selenium/webdriver:driver-firefox-beta    �[0m�[32m(cached) PASSED�[0m in 64.8s
    3567:  //rb/spec/integration/selenium/webdriver:element-chrome         �[0m�[32m(cached) PASSED�[0m in 32.9s
    3568:  //rb/spec/integration/selenium/webdriver:element-edge           �[0m�[32m(cached) PASSED�[0m in 43.3s
    3569:  //rb/spec/integration/selenium/webdriver:element-firefox        �[0m�[32m(cached) PASSED�[0m in 38.3s
    3570:  //rb/spec/integration/selenium/webdriver:element-firefox-beta   �[0m�[32m(cached) PASSED�[0m in 47.6s
    3571:  //rb/spec/integration/selenium/webdriver:error-chrome           �[0m�[32m(cached) PASSED�[0m in 17.9s
    3572:  //rb/spec/integration/selenium/webdriver:error-edge             �[0m�[32m(cached) PASSED�[0m in 15.3s
    3573:  //rb/spec/integration/selenium/webdriver:error-firefox          �[0m�[32m(cached) PASSED�[0m in 22.0s
    3574:  //rb/spec/integration/selenium/webdriver:error-firefox-beta     �[0m�[32m(cached) PASSED�[0m in 21.8s
    ...
    
    3772:  //dotnet/test/common:ElementFindingTest-edge                             �[0m�[32mPASSED�[0m in 28.3s
    3773:  //dotnet/test/common:ElementFindingTest-firefox                          �[0m�[32mPASSED�[0m in 35.7s
    3774:  //dotnet/test/common:ElementPropertyTest-chrome                          �[0m�[32mPASSED�[0m in 6.0s
    3775:  //dotnet/test/common:ElementPropertyTest-edge                            �[0m�[32mPASSED�[0m in 6.5s
    3776:  //dotnet/test/common:ElementPropertyTest-firefox                         �[0m�[32mPASSED�[0m in 10.9s
    3777:  //dotnet/test/common:ElementSelectingTest-chrome                         �[0m�[32mPASSED�[0m in 10.6s
    3778:  //dotnet/test/common:ElementSelectingTest-edge                           �[0m�[32mPASSED�[0m in 14.4s
    3779:  //dotnet/test/common:ElementSelectingTest-firefox                        �[0m�[32mPASSED�[0m in 26.5s
    3780:  //dotnet/test/common:ErrorsTest-chrome                                   �[0m�[32mPASSED�[0m in 7.1s
    3781:  //dotnet/test/common:ErrorsTest-edge                                     �[0m�[32mPASSED�[0m in 8.1s
    3782:  //dotnet/test/common:ErrorsTest-firefox                                  �[0m�[32mPASSED�[0m in 10.0s
    ...
    
    3916:  //dotnet/test/support/Events:EventFiringWebDriverElementTest-firefox     �[0m�[32mPASSED�[0m in 14.6s
    3917:  //dotnet/test/support/Events:EventFiringWebDriverTest                    �[0m�[32mPASSED�[0m in 1.0s
    3918:  //dotnet/test/support/Extensions:ExecuteJavaScriptTest                   �[0m�[32mPASSED�[0m in 0.9s
    3919:  //dotnet/test/support/UI:DefaultWaitTest                                 �[0m�[32mPASSED�[0m in 5.2s
    3920:  //dotnet/test/support/UI:LoadableComponentTests                          �[0m�[32mPASSED�[0m in 0.5s
    3921:  //dotnet/test/support/UI:PopupWindowFinderTest-firefox                   �[0m�[32mPASSED�[0m in 20.2s
    3922:  //dotnet/test/support/UI:SlowLoadableComponentTest                       �[0m�[32mPASSED�[0m in 1.1s
    3923:  //dotnet/test/support/UI:WebDriverWaitTest                               �[0m�[32mPASSED�[0m in 1.0s
    3924:  //dotnet/test/common:CorrectEventFiringTest-edge                         �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 37.0s
    3925:  Stats over 2 runs: max = 37.0s, min = 32.7s, avg = 34.9s, dev = 2.2s
    3926:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild-ST-5ed0eea50982/testlogs/dotnet/test/common/CorrectEventFiringTest-edge/test.log
    3927:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild-ST-5ed0eea50982/testlogs/dotnet/test/common/CorrectEventFiringTest-edge/test_attempts/attempt_1.log
    3928:  Executed 218 out of 1559 tests: 1558 tests pass and �[0m�[31m�[1m1 fails remotely�[0m.
    3929:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    3930:  (19:31:23) �[32mINFO:�[0m Build completed, 1 test FAILED, 13498 total actions
    3931:  (19:31:23) �[32mINFO: �[0mStreaming build results to: https://gypsum.cluster.engflow.com/invocation/bec71268-fd43-4828-9507-6014ee98f4c5
    3932:  �[0m
    3933:  ##[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.

    @p0deje p0deje force-pushed the rb-per-browser-tests branch 8 times, most recently from 81239c9 to 37ab6c0 Compare March 13, 2024 20:12
    @p0deje p0deje marked this pull request as ready for review March 13, 2024 20:13
    @p0deje p0deje requested review from shs96c and titusfortner March 13, 2024 20:13
    @p0deje p0deje changed the title Rb per browser tests [rb] Per-browser test targets Mar 13, 2024
    Copy link
    Contributor

    PR Description updated to latest commit (37ab6c0)

    @qodo-merge-pro qodo-merge-pro bot changed the title [rb] Per-browser test targets Rb per browser tests Mar 13, 2024
    Copy link
    Contributor

    PR Review

    ⏱️ Estimated effort to review [1-5]

    4, because the PR introduces significant changes across multiple files and configurations, including updates to browser versions, refactoring of test target generation, and modifications to GitHub Actions workflows. The complexity and breadth of these changes require a thorough review to ensure compatibility and correctness.

    🧪 Relevant tests

    Yes

    🔍 Possible issues

    Possible Bug: Removal of @NotYetImplemented(FIREFOX) annotations from Java test methods without corresponding test results or evidence of Firefox compatibility might introduce test failures if these tests are not yet compatible with Firefox.

    Refactoring Concern: The extensive changes to test target generation and execution logic could potentially disrupt existing testing workflows or introduce new bugs if not carefully reviewed and tested.

    Configuration Error: The update to setup-bazel action version 0.8.1 in GitHub Actions workflows without testing might cause CI pipeline failures if there are compatibility issues with the new version.

    🔒 Security concerns

    No


    ✨ Review tool usage guide:

    Overview:
    The review tool scans the PR code changes, and generates a PR review. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
    When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:

    /review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...
    

    With a configuration file, use the following template:

    [pr_reviewer]
    some_config1=...
    some_config2=...
    
    Utilizing extra instructions

    The review tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.

    Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.

    Examples for extra instructions:

    [pr_reviewer] # /review #
    extra_instructions="""
    In the 'possible issues' section, emphasize the following:
    - Does the code logic cover relevant edge cases?
    - Is the code logic clear and easy to understand?
    - Is the code logic efficient?
    ...
    """
    

    Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

    How to enable\disable automation
    • When you first install PR-Agent app, the default mode for the review tool is:
    pr_commands = ["/review", ...]
    

    meaning the review tool will run automatically on every PR, with the default configuration.
    Edit this field to enable/disable the tool, or to change the used configurations

    Auto-labels

    The review tool can auto-generate two specific types of labels for a PR:

    • a possible security issue label, that detects possible security issues (enable_review_labels_security flag)
    • a Review effort [1-5]: x label, where x is the estimated effort to review the PR (enable_review_labels_effort flag)
    Extra sub-tools

    The review tool provides a collection of possible feedbacks about a PR.
    It is recommended to review the possible options, and choose the ones relevant for your use case.
    Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
    require_score_review, require_soc2_ticket, and more.

    Auto-approve PRs

    By invoking:

    /review auto_approve
    

    The tool will automatically approve the PR, and add a comment with the approval.

    To ensure safety, the auto-approval feature is disabled by default. To enable auto-approval, you need to actively set in a pre-defined configuration file the following:

    [pr_reviewer]
    enable_auto_approval = true
    

    (this specific flag cannot be set with a command line argument, only in the configuration file, committed to the repository)

    You can also enable auto-approval only if the PR meets certain requirements, such as that the estimated_review_effort is equal or below a certain threshold, by adjusting the flag:

    [pr_reviewer]
    maximal_review_effort = 5
    
    More PR-Agent commands

    To invoke the PR-Agent, add a comment using one of the following commands:

    • /review: Request a review of your Pull Request.
    • /describe: Update the PR title and description based on the contents of the PR.
    • /improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
    • /ask <QUESTION>: Ask a question about the PR.
    • /update_changelog: Update the changelog based on the PR's contents.
    • /add_docs 💎: Generate docstring for new components introduced in the PR.
    • /generate_labels 💎: Generate labels for the PR based on the PR's contents.
    • /analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

    See the tools guide for more details.
    To list the possible configuration parameters, add a /config comment.

    See the review usage page for a comprehensive guide on using this tool.

    Copy link
    Contributor

    qodo-merge-pro bot commented Mar 13, 2024

    PR Code Suggestions

    CategorySuggestions                                                                                                                                                       
    Enhancement
    Add checks for empty environment variable values before setting executable paths.

    Consider checking if ENV['MSEDGEDRIVER_BINARY'] and ENV['GECKODRIVER_BINARY'] are not
    empty strings in addition to checking if the keys exist. This ensures that the executable
    path is only set when a meaningful value is provided.

    rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb [220-227]

    -service.executable_path = ENV['MSEDGEDRIVER_BINARY'] if ENV.key?('MSEDGEDRIVER_BINARY')
    -service.executable_path = ENV['GECKODRIVER_BINARY'] if ENV.key?('GECKODRIVER_BINARY')
    +service.executable_path = ENV['MSEDGEDRIVER_BINARY'] if ENV.key?('MSEDGEDRIVER_BINARY') && !ENV['MSEDGEDRIVER_BINARY'].empty?
    +service.executable_path = ENV['GECKODRIVER_BINARY'] if ENV.key?('GECKODRIVER_BINARY') && !ENV['GECKODRIVER_BINARY'].empty?
     
    Replace generic "no-sandbox" tag with a more descriptive tag to clarify its purpose.

    Consider using a more descriptive tag than "no-sandbox" for the tags list in rb_test
    calls. The tag "no-sandbox" is very generic and might not clearly convey the reason for
    its necessity. A more descriptive tag, such as "firefox-no-sandbox-issue", would provide
    immediate context about why this tag is necessary, directly linking it to the known
    Firefox issue.

    rb/spec/tests.bzl [195]

    -tags = ["no-sandbox"],  # TODO: Do we need this?
    +tags = ["firefox-no-sandbox-issue"],  # Workaround for Firefox sandbox crash issue
     
    Maintainability
    Fix typo in the generated file comment.

    Correct the typo in the comment at the beginning of the file to accurately reflect the
    command used to generate the file.

    common/repositories.bzl [1]

    -# This file has been generated using `bazel run scripts:pinned_browserbazel run scripts:pinned_browserss`
    +# This file has been generated using `bazel run scripts:pinned_browsers`
     
    Use variables for browser download URLs and SHA256 hashes for easier updates.

    Update the URLs and SHA256 hashes for browser downloads to use variables for easier
    maintenance and updates in the future.

    common/repositories.bzl [13-14]

    -url = "https://ftp.mozilla.org/pub/firefox/releases/123.0.1/linux-x86_64/en-US/firefox-123.0.1.tar.bz2"
    -sha256 = "3b8534ecd870f25434fc7ac8b7a26470492484f24fefe3be8eed0b41db52fe43"
    +FIREFOX_VERSION = "123.0.1"
    +FIREFOX_LINUX_URL = f"https://ftp.mozilla.org/pub/firefox/releases/{FIREFOX_VERSION}/linux-x86_64/en-US/firefox-{FIREFOX_VERSION}.tar.bz2"
    +FIREFOX_LINUX_SHA256 = "3b8534ecd870f25434fc7ac8b7a26470492484f24fefe3be8eed0b41db52fe43"
    +url = FIREFOX_LINUX_URL
    +sha256 = FIREFOX_LINUX_SHA256
     
    Refactor repeated logic for test target generation into a helper function to reduce duplication.

    To improve maintainability and reduce duplication, consider refactoring the repeated logic
    for generating both local and remote test targets into a helper function. This function
    could accept parameters to customize the test target for local or remote execution,
    reducing the code duplication seen in the loops for local and remote test target
    generation.

    rb/spec/tests.bzl [150-185]

    -for browser in browsers:
    -    # Generate a test target for local browser execution.
    +def generate_test_targets(name, browser, srcs, data, deps, tags, visibility, target_compatible_with, is_remote=False):
    +    suffix = "-remote" if is_remote else ""
         rb_test(
    -        name = "{}-{}".format(name, browser),
    -        ...
    -    )
    -    # Generate a test target for remote browser execution (Grid).
    -    rb_test(
    -        name = "{}-{}-remote".format(name, browser),
    -        ...
    +        name = "{}-{}{}".format(name, browser, suffix),
    +        size = "large",
    +        srcs = srcs,
    +        args = ["rb/spec/"],
    +        data = data,
    +        env = BROWSERS[browser]["env"] | ({"WD_SPEC_DRIVER": "remote"} if is_remote else {}),
    +        main = "@bundle//bin:rspec",
    +        tags = tags,
    +        deps = deps,
    +        visibility = visibility,
    +        target_compatible_with = target_compatible_with,
         )
     
    +for browser in browsers:
    +    generate_test_targets(name, browser, srcs, BROWSERS[browser]["data"] + data, ["//rb/spec/integration/selenium/webdriver:spec_helper"] + BROWSERS[browser]["deps"] + deps, COMMON_TAGS + BROWSERS[browser]["tags"] + tags + [browser], ["//rb:__subpackages__"], BROWSERS[browser]["target_compatible_with"])
    +    generate_test_targets(name, browser, srcs, BROWSERS[browser]["data"] + data, ["//rb/spec/integration/selenium/webdriver:spec_helper"] + BROWSERS[browser]["deps"] + deps, COMMON_TAGS + BROWSERS[browser]["tags"] + tags + [browser, "skip-remote"], ["//rb:__subpackages__"], BROWSERS[browser]["target_compatible_with"], is_remote=True)
    +
    Simplify the BROWSERS dictionary structure by defining browser-specific configurations outside of it.

    The use of the select function for browser-specific configurations within the BROWSERS
    dictionary is a powerful feature, but it can lead to hard-to-read and maintain code,
    especially with nested select calls. Consider simplifying this structure by defining
    browser-specific configurations outside of the BROWSERS dictionary and then referencing
    these configurations within the dictionary. This approach can improve readability and
    maintainability.

    rb/spec/tests.bzl [11-33]

    -"chrome": {
    -    "data": chrome_data,
    -    "deps": ["//rb/lib/selenium/webdriver:chrome"],
    -    "tags": [],
    -    "target_compatible_with": [],
    -    "env": {
    -        "WD_REMOTE_BROWSER": "chrome",
    -        "WD_SPEC_DRIVER": "chrome",
    -    } | select({
    -        "@selenium//common:use_pinned_linux_chrome": {
    -            "CHROME_BINARY": "$(location @linux_chrome//:chrome-linux64/chrome)",
    -            "CHROMEDRIVER_BINARY": "$(location @linux_chromedriver//:chromedriver)",
    -        },
    -        ...
    -    }) | select({
    -        "@selenium//common:use_headless_browser": {"HEADLESS": "true"},
    -        "//conditions:default": {},
    -    }),
    -},
    +CHROME_ENV = {
    +    "WD_REMOTE_BROWSER": "chrome",
    +    "WD_SPEC_DRIVER": "chrome",
    +}
    +CHROME_ENV.update(select({
    +    "@selenium//common:use_pinned_linux_chrome": {
    +        "CHROME_BINARY": "$(location @linux_chrome//:chrome-linux64/chrome)",
    +        "CHROMEDRIVER_BINARY": "$(location @linux_chromedriver//:chromedriver)",
    +    },
    +    ...
    +}))
    +CHROME_ENV.update(select({
    +    "@selenium//common:use_headless_browser": {"HEADLESS": "true"},
    +    "//conditions:default": {},
    +}))
     
    +BROWSERS = {
    +    "chrome": {
    +        "data": chrome_data,
    +        "deps": ["//rb/lib/selenium/webdriver:chrome"],
    +        "tags": [],
    +        "target_compatible_with": [],
    +        "env": CHROME_ENV,
    +    },
    +    ...
    +}
    +
    Encapsulate the logic for merging test parameters into a utility function for consistency.

    The rb_integration_test function defines a large number of parameters for the rb_test
    rule, including data, env, tags, and deps, which are largely derived from the BROWSERS
    dictionary. To ensure that these parameters are consistently applied across different test
    targets and to facilitate future updates, consider encapsulating the logic for merging
    these parameters into a utility function. This function could take the base parameters and
    the browser-specific overrides as inputs and return the merged result, ensuring consistent
    application of browser-specific configurations across all test targets.

    rb/spec/tests.bzl [157-161]

    -data = BROWSERS[browser]["data"] + data + ["//common/src/web"],
    -env = BROWSERS[browser]["env"],
    -tags = COMMON_TAGS + BROWSERS[browser]["tags"] + tags + [browser],
    -deps = ["//rb/spec/integration/selenium/webdriver:spec_helper"] + BROWSERS[browser]["deps"] + deps,
    +def merge_test_parameters(base_data, base_env, base_tags, base_deps, browser_config):
    +    merged_data = browser_config["data"] + base_data + ["//common/src/web"]
    +    merged_env = {**base_env, **browser_config["env"]}
    +    merged_tags = COMMON_TAGS + browser_config["tags"] + base_tags + [browser]
    +    merged_deps = ["//rb/spec/integration/selenium/webdriver:spec_helper"] + browser_config["deps"] + base_deps
    +    return merged_data, merged_env, merged_tags, merged_deps
     
    +# Example usage within rb_integration_test
    +data, env, tags, deps = merge_test_parameters(data, {}, tags, deps, BROWSERS[browser])
    +
    Add descriptive names to run steps for clarity.

    Consider using a more descriptive name for the run step to improve readability and
    maintainability. For example, you can name it "Run Unit Tests" for the unit test job. This
    makes it easier for others to understand the purpose of each step at a glance.

    .github/workflows/ci-ruby.yml [59-62]

    -run: >
    -  bazel test
    -  --build_tests_only
    -  --test_size_filters small
    -  //rb/spec/...
    +- name: Run Unit Tests
    +  run: >
    +    bazel test
    +    --build_tests_only
    +    --test_size_filters small
    +    //rb/spec/...
     
    Extract repeated browser configurations into a variable for maintainability.

    Consider extracting the list of browsers into a variable or a constant if this
    configuration is reused across multiple test targets. This can improve maintainability and
    make updates easier.

    rb/spec/integration/selenium/webdriver/firefox/BUILD.bazel [8-10]

    -browsers = [
    +FIREFOX_BROWSERS = [
         "firefox",
         "firefox-beta",
     ]
    +...
    +browsers = FIREFOX_BROWSERS
     
    Best practice
    Improve code consistency by using Array#push for array additions.

    Use Array#push consistently for adding elements to arrays to improve code consistency and
    readability.

    rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb [218-219]

    -service.args << '--disable-build-check' if ENV['DISABLE_BUILD_CHECK']
    -service.args << '--verbose' if WebDriver.logger.debug?
    +service.args.push('--disable-build-check') if ENV['DISABLE_BUILD_CHECK']
    +service.args.push('--verbose') if WebDriver.logger.debug?
     
    Ensure consistent use of strip_prefix and patch_cmds in archive rules.

    Ensure that the strip_prefix and patch_cmds fields are consistently used across all
    http_archive and dmg_archive rules for better maintainability and readability.

    common/repositories.bzl [140-144]

    -strip_prefix = "chrome-mac-x64"
    +# Example for a consistent use of strip_prefix and patch_cmds
    +strip_prefix = "desired_prefix"
     patch_cmds = [
    -    "mv 'Google Chrome for Testing.app' Chrome.app",
    +    "desired_command",
     ]
     
    Conditionally apply the "no-sandbox" tag only to browsers affected by the Firefox issue.

    The COMMON_TAGS list includes a "no-sandbox" tag with a comment explaining its necessity
    due to a Firefox issue. However, this tag is applied to all browsers, not just Firefox. To
    avoid potential side effects on browsers that do not require this workaround, consider
    applying the "no-sandbox" tag conditionally, only to the browsers affected by the issue.
    This can be achieved by moving the tag to the specific browser configurations in the
    BROWSERS dictionary in tests.bzl.

    common/browsers.bzl [1-8]

     COMMON_TAGS = [
         "browser-test",
    -    "no-sandbox",  # We have to use no-sandbox at the moment because Firefox crashes
         "requires-network",
     ]
    +# In `tests.bzl`, add "no-sandbox" to the tags of the affected browsers only.
     
    Regularly review and justify skipped tests.

    Regularly review and justify the list of skipped tests. Skipping tests can hide potential
    issues. If tests are flaky, consider fixing them or creating a plan to address the
    underlying issues rather than skipping.

    .skipped-tests [34-37]

    +# Review and address skipped tests regularly
     -//rb/spec/integration/selenium/webdriver/chrome:service-chrome
     -//rb/spec/integration/selenium/webdriver/edge:service-edge
     -//rb/spec/integration/selenium/webdriver/firefox:service-firefox
     -//rb/spec/integration/selenium/webdriver/firefox:service-firefox-beta
     
    Possible issue
    Ensure consistency in test paths across jobs.

    For consistency and to avoid potential issues with future updates, consider aligning the
    test paths across different jobs. If the intention is to run different sets of tests (unit
    vs integration), ensure this is clearly documented or reflected in the job names or
    comments.

    .github/workflows/ci-ruby.yml [63]

    -//rb/spec/...
    +//rb/spec/unit/...
     
    Security
    Pin GitHub Actions to a SHA for enhanced security.

    It's good practice to pin actions to a SHA rather than tags like 0.8.1 for security
    reasons. Tags can be moved to different commits, including malicious ones, but SHAs are
    immutable references to a specific commit.

    .github/workflows/bazel.yml [98]

    -uses: bazel-contrib/[email protected]
    +uses: bazel-contrib/setup-bazel@sha256:<SHA_OF_0.8.1_RELEASE>
     

    ✨ Improve tool usage guide:

    Overview:
    The improve tool scans the PR code changes, and automatically generates suggestions for improving the PR code. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on a PR.
    When commenting, to edit configurations related to the improve tool (pr_code_suggestions section), use the following template:

    /improve --pr_code_suggestions.some_config1=... --pr_code_suggestions.some_config2=...
    

    With a configuration file, use the following template:

    [pr_code_suggestions]
    some_config1=...
    some_config2=...
    
    Enabling\disabling automation

    When you first install the app, the default mode for the improve tool is:

    pr_commands = ["/improve --pr_code_suggestions.summarize=true", ...]
    

    meaning the improve tool will run automatically on every PR, with summarization enabled. Delete this line to disable the tool from running automatically.

    Utilizing extra instructions

    Extra instructions are very important for the improve tool, since they enable to guide the model to suggestions that are more relevant to the specific needs of the project.

    Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify relevant aspects that you want the model to focus on.

    Examples for extra instructions:

    [pr_code_suggestions] # /improve #
    extra_instructions="""
    Emphasize the following aspects:
    - Does the code logic cover relevant edge cases?
    - Is the code logic clear and easy to understand?
    - Is the code logic efficient?
    ...
    """
    

    Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

    A note on code suggestions quality
    • While the current AI for code is getting better and better (GPT-4), it's not flawless. Not all the suggestions will be perfect, and a user should not accept all of them automatically.
    • Suggestions are not meant to be simplistic. Instead, they aim to give deep feedback and raise questions, ideas and thoughts to the user, who can then use his judgment, experience, and understanding of the code base.
    • Recommended to use the 'extra_instructions' field to guide the model to suggestions that are more relevant to the specific needs of the project, or use the custom suggestions 💎 tool
    • With large PRs, best quality will be obtained by using 'improve --extended' mode.
    More PR-Agent commands

    To invoke the PR-Agent, add a comment using one of the following commands:

    • /review: Request a review of your Pull Request.
    • /describe: Update the PR title and description based on the contents of the PR.
    • /improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
    • /ask <QUESTION>: Ask a question about the PR.
    • /update_changelog: Update the changelog based on the PR's contents.
    • /add_docs 💎: Generate docstring for new components introduced in the PR.
    • /generate_labels 💎: Generate labels for the PR based on the PR's contents.
    • /analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

    See the tools guide for more details.
    To list the possible configuration parameters, add a /config comment.

    See the improve usage page for a more comprehensive guide on using this tool.

    @p0deje p0deje force-pushed the rb-per-browser-tests branch from 37ab6c0 to 0e00991 Compare March 13, 2024 20:16
    README.md Outdated Show resolved Hide resolved
    @p0deje p0deje changed the title Rb per browser tests [rb] Per-browser test targets and RBE Mar 14, 2024
    @p0deje p0deje force-pushed the rb-per-browser-tests branch from 1d42236 to e585d0f Compare March 15, 2024 14:49
    @codecov-commenter
    Copy link

    codecov-commenter commented Mar 15, 2024

    Codecov Report

    Attention: Patch coverage is 0% with 1 lines in your changes are missing coverage. Please review.

    Project coverage is 58.48%. Comparing base (552a2aa) to head (bbeb95e).
    Report is 3 commits behind head on trunk.

    ❗ Current head bbeb95e differs from pull request most recent head 30e2bf8. Consider uploading reports for the commit 30e2bf8 to get more accurate results

    Files Patch % Lines
    py/selenium/webdriver/remote/webdriver.py 0.00% 1 Missing ⚠️

    ❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

    Additional details and impacted files
    @@           Coverage Diff           @@
    ##            trunk   #13683   +/-   ##
    =======================================
      Coverage   58.48%   58.48%           
    =======================================
      Files          86       86           
      Lines        5270     5270           
      Branches      220      220           
    =======================================
      Hits         3082     3082           
      Misses       1968     1968           
      Partials      220      220           

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

    @p0deje p0deje merged commit 1aa091e into trunk Mar 15, 2024
    41 checks passed
    @p0deje p0deje deleted the rb-per-browser-tests branch March 15, 2024 20:48
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    3 participants