Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[grid] Add GreedySlotSelector as a built-in slot-selector option#15897

Merged
VietND96 merged 3 commits intotrunkfrom
greedy-slot-selector
Jun 18, 2025
Merged

[grid] Add GreedySlotSelector as a built-in slot-selector option#15897
VietND96 merged 3 commits intotrunkfrom
greedy-slot-selector

Conversation

@VietND96
Copy link
Member

@VietND96 VietND96 commented Jun 13, 2025

User description

πŸ”— Related Issues

πŸ’₯ What does this PR do?

Fixes #15870

This is good for autoscaling (with max sessions > 1 per node), where all available slots in a Node will be utilized fully before assigning a session to another new Node.

Session assign with GreedySlotSelector strategy

GreedySlotSelector.mp4

Look back the session assign with DefaultSlotSelector

DefaultSlotSelector.mp4

Usage: pass value to CLI option --slot-selector when starting Distributor (or Hub/Standalone), or similar in TOML config
For example: --slot-selector org.openqa.selenium.grid.distributor.selector.GreedySlotSelector

How it works in the background
A greedy slot selector that aims to maximize node utilization by minimizing the number of partially filled nodes. The algorithm works as follows:

  1. Sort nodes by their utilization load (descending).
  2. Among nodes with the same utilization, prefer those with fewer total slots.
  3. Then sort by the last session created (oldest first).

This approach helps to:

  • Fill up nodes that are already partially utilized
  • Minimize the number of nodes that are partially filled
  • Distribute load evenly across nodes

πŸ”§ Implementation Notes

πŸ’‘ Additional Considerations

πŸ”„ Types of changes

  • Cleanup (formatting, renaming)
  • Bug fix (backwards compatible)
  • New feature (non-breaking change which adds functionality and tests!)
  • Breaking change (fix or feature that would cause existing functionality to change)

PR Type

Enhancement


Description

β€’ Add GreedySlotSelector for maximizing node utilization in Grid
β€’ Implements greedy algorithm prioritizing partially filled nodes
β€’ Includes comprehensive test suite with 429 test lines
β€’ Configurable via CLI --slot-matcher option


Changes walkthrough πŸ“

Relevant files
Enhancement
GreedySlotSelector.java
New GreedySlotSelector implementationΒ  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β 

java/src/org/openqa/selenium/grid/distributor/selector/GreedySlotSelector.java

β€’ Implements SlotSelector interface with greedy algorithm
β€’
Prioritizes nodes by utilization ratio (descending order)
β€’ Falls back
to total slots, load, and browser version for tie-breaking
β€’ Includes
factory method for configuration integration

+99/-0Β  Β 
Tests
GreedySlotSelectorTest.java
Complete test coverage for GreedySlotSelectorΒ  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β 

java/test/org/openqa/selenium/grid/distributor/selector/GreedySlotSelectorTest.java

β€’ Comprehensive test suite with 11 test methods
β€’ Tests utilization
prioritization over capability matching
β€’ Validates node selection
ordering and load balancing
β€’ Includes helper methods for creating
test nodes

+429/-0Β 

Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @selenium-ci selenium-ci added B-grid Everything grid and server related C-java Java Bindings labels Jun 13, 2025
    @VietND96 VietND96 requested review from Copilot and diemol June 13, 2025 12:37
    @qodo-code-review
    Copy link
    Contributor

    PR Reviewer Guide πŸ”

    Here are some key observations to aid the review process:

    🎫 Ticket compliance analysis ❌

    5678 - Not compliant

    Non-compliant requirements:

    β€’ Fix ChromeDriver connection failure error when instantiating multiple ChromeDriver instances
    β€’ Resolve "ConnectFailure (Connection refused)" error that occurs after first ChromeDriver instance
    β€’ Address issue specific to Ubuntu 16.04.4, Chrome 65.0.3325.181, ChromeDriver 2.35, Selenium 3.9.0

    1234 - Not compliant

    Non-compliant requirements:

    β€’ Fix JavaScript execution in link href on click() method for Firefox
    β€’ Ensure click() triggers JavaScript in href attribute (regression from 2.47.1 to 2.48.0/2.48.2)
    β€’ Address Firefox 42.0 compatibility issue

    ⏱️ Estimated effort to review: 3 πŸ”΅πŸ”΅πŸ”΅βšͺβšͺ
    πŸ§ͺΒ PR contains tests
    πŸ”’Β No security concerns identified
    ⚑ Recommended focus areas for review

    Logic Concern

    The greedy algorithm prioritizes utilization over capability matching, which may lead to suboptimal slot assignments when nodes with better capability matches have lower utilization. This could result in sessions being assigned to nodes that don't optimally match the requested capabilities.

    return nodes.stream()
        .filter(node -> node.hasCapacity(capabilities, slotMatcher) && node.getAvailability() == UP)
        .sorted(
            // First and foremost, sort by utilization ratio (descending)
            // This ensures we ALWAYS try to fill nodes that are already partially utilized first
            Comparator.comparingDouble(this::getNodeUtilization)
                .reversed()
                // Then sort by total number of slots (ascending)
                // Among nodes with same utilization, prefer those with fewer total slots
                .thenComparingLong(node -> node.getSlots().size())
                // Then sort by node which has the lowest load (natural ordering)
                .thenComparingDouble(NodeStatus::getLoad)
                // Then last session created (oldest first)
                .thenComparingLong(NodeStatus::getLastSessionCreated)
                // Then sort by stereotype browserVersion (descending order)
                .thenComparing(
                    Comparator.comparing(
                        NodeStatus::getBrowserVersion, new SemanticVersionComparator().reversed()))
                // And use the node id as a tie-breaker
                .thenComparing(NodeStatus::getNodeId))
        .flatMap(
            node ->
                node.getSlots().stream()
                    .filter(slot -> slot.getSession() == null)
                    .filter(slot -> slot.isSupporting(capabilities, slotMatcher))
                    .map(Slot::getId))
        .collect(toImmutableSet());
    Test Coverage

    The test suite extensively validates that utilization is prioritized over capability matching, but lacks tests for edge cases like empty node sets, nodes with zero slots, or error handling scenarios that could occur in production environments.

    void shouldAlwaysPrioritizeUtilizationOverBrowserVersion() {
      // Create nodes with different browser versions and utilization
      NodeStatus oldVersionHighUtil =
          createNodeWithStereotypes(
              ImmutableList.of(ImmutableMap.of("browserName", "chrome", "browserVersion", "90.0")),
              10,
              8); // 80% utilized
      NodeStatus newVersionLowUtil =
          createNodeWithStereotypes(
              ImmutableList.of(ImmutableMap.of("browserName", "chrome", "browserVersion", "120.0")),
              10,
              2); // 20% utilized
    
      Capabilities caps =
          new ImmutableCapabilities("browserName", "chrome", "browserVersion", "120.0");
    
      Set<SlotId> slots =
          selector.selectSlot(
              caps, ImmutableSet.of(oldVersionHighUtil, newVersionLowUtil), new DefaultSlotMatcher());
    
      ImmutableSet<NodeId> nodeIds =
          slots.stream().map(SlotId::getOwningNodeId).distinct().collect(toImmutableSet());
    
      // Should prioritize utilization over browser version match
      assertThat(nodeIds)
          .containsSequence(oldVersionHighUtil.getNodeId(), newVersionLowUtil.getNodeId());
    }

    Copy link
    Contributor

    Copilot AI left a comment

    Choose a reason for hiding this comment

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

    Pull Request Overview

    This PR introduces a new built-in greedy slot selector to enhance node utilization in the Selenium Grid by prioritizing partially filled nodes using a multi-criteria sorting approach.

    • Added GreedySlotSelector that implements a SlotSelector interface with a chain of comparators based on node utilization, slot count, load, session creation time, browser version, and node ID.
    • Provided comprehensive tests to validate the behavior of node selection and load balancing.

    @qodo-code-review
    Copy link
    Contributor

    qodo-code-review bot commented Jun 13, 2025

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestionΒ  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Impact
    General
    Add null safety checks

    The method should handle potential edge cases where node or node.getSlots()
    could be null to prevent NullPointerException. Add null checks for robustness.

    java/src/org/openqa/selenium/grid/distributor/selector/GreedySlotSelector.java [83-90]

     double getNodeUtilization(NodeStatus node) {
    +  if (node == null || node.getSlots() == null) {
    +    return 0.0;
    +  }
       long totalSlots = node.getSlots().size();
       if (totalSlots == 0) {
         return 0.0;
       }
       long usedSlots = node.getSlots().stream().filter(slot -> slot.getSession() != null).count();
       return (double) usedSlots / totalSlots;
     }
    • Apply / Chat
    Suggestion importance[1-10]: 4

    __

    Why: The suggestion to add null checks for node and node.getSlots() is a valid defensive programming practice. However, the getNodeUtilization method is only called from a stream processing a Set<NodeStatus>, where null elements are not expected. The improvement in robustness is minor in this context.

    Low
    • Update

    @qodo-code-review
    Copy link
    Contributor

    qodo-code-review bot commented Jun 13, 2025

    CI Feedback 🧐

    (Feedback updated until commit fd27a60)

    A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

    Action: Test / All RBE tests

    Failed stage: Run Bazel [❌]

    Failed test name: canGetAllCookies

    Failure summary:

    The action failed because 2 tests failed:
    β€’ canGetAllCookies() test in StorageCommandsTest failed
    for Microsoft Edge browser (both local and remote configurations)
    β€’ The test failure occurred at
    line 283 in StorageCommandsTest.java with an AssertionFailedError: Expecting value to be true but
    was false
    β€’ The failure appears to be related to BiDi (Bidirectional WebDriver) storage commands
    functionality when testing cookie retrieval in Edge browser

    Relevant error logs:
    1:  ##[group]Runner Image Provisioner
    2:  Hosted Compute Agent
    ...
    
    947:  Package 'php-sql-formatter' is not installed, so not removed
    948:  Package 'php8.3-ssh2' is not installed, so not removed
    949:  Package 'php-ssh2-all-dev' is not installed, so not removed
    950:  Package 'php8.3-stomp' is not installed, so not removed
    951:  Package 'php-stomp-all-dev' is not installed, so not removed
    952:  Package 'php-swiftmailer' is not installed, so not removed
    953:  Package 'php-symfony' is not installed, so not removed
    954:  Package 'php-symfony-asset' is not installed, so not removed
    955:  Package 'php-symfony-asset-mapper' is not installed, so not removed
    956:  Package 'php-symfony-browser-kit' is not installed, so not removed
    957:  Package 'php-symfony-clock' is not installed, so not removed
    958:  Package 'php-symfony-debug-bundle' is not installed, so not removed
    959:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
    960:  Package 'php-symfony-dom-crawler' is not installed, so not removed
    961:  Package 'php-symfony-dotenv' is not installed, so not removed
    962:  Package 'php-symfony-error-handler' is not installed, so not removed
    963:  Package 'php-symfony-event-dispatcher' is not installed, so not removed
    ...
    
    1141:  Package 'php-twig-html-extra' is not installed, so not removed
    1142:  Package 'php-twig-i18n-extension' is not installed, so not removed
    1143:  Package 'php-twig-inky-extra' is not installed, so not removed
    1144:  Package 'php-twig-intl-extra' is not installed, so not removed
    1145:  Package 'php-twig-markdown-extra' is not installed, so not removed
    1146:  Package 'php-twig-string-extra' is not installed, so not removed
    1147:  Package 'php8.3-uopz' is not installed, so not removed
    1148:  Package 'php-uopz-all-dev' is not installed, so not removed
    1149:  Package 'php8.3-uploadprogress' is not installed, so not removed
    1150:  Package 'php-uploadprogress-all-dev' is not installed, so not removed
    1151:  Package 'php8.3-uuid' is not installed, so not removed
    1152:  Package 'php-uuid-all-dev' is not installed, so not removed
    1153:  Package 'php-validate' is not installed, so not removed
    1154:  Package 'php-vlucas-phpdotenv' is not installed, so not removed
    1155:  Package 'php-voku-portable-ascii' is not installed, so not removed
    1156:  Package 'php-wmerrors' is not installed, so not removed
    1157:  Package 'php-xdebug-all-dev' is not installed, so not removed
    ...
    
    1844:  |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
    1845:  external/protobuf+/src/google/protobuf/compiler/java/full/enum.cc:125:21: warning: comparison of integer expressions of different signedness: β€˜int’ and β€˜std::vector<google::protobuf::compiler::java::EnumNonLiteGenerator::Alias>::size_type’ {aka β€˜long unsigned int’} [-Wsign-compare]
    1846:  125 |   for (int i = 0; i < aliases_.size(); i++) {
    1847:  |                   ~~^~~~~~~~~~~~~~~~~
    1848:  external/protobuf+/src/google/protobuf/compiler/java/full/enum.cc:209:21: warning: comparison of integer expressions of different signedness: β€˜int’ and β€˜std::vector<const google::protobuf::EnumValueDescriptor*>::size_type’ {aka β€˜long unsigned int’} [-Wsign-compare]
    1849:  209 |   for (int i = 0; i < canonical_values_.size(); i++) {
    1850:  |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
    1851:  external/protobuf+/src/google/protobuf/compiler/java/full/enum.cc: In member function β€˜bool google::protobuf::compiler::java::EnumNonLiteGenerator::CanUseEnumValues()’:
    1852:  external/protobuf+/src/google/protobuf/compiler/java/full/enum.cc:383:32: warning: comparison of integer expressions of different signedness: β€˜std::vector<const google::protobuf::EnumValueDescriptor*>::size_type’ {aka β€˜long unsigned int’} and β€˜int’ [-Wsign-compare]
    1853:  383 |   if (canonical_values_.size() != descriptor_->value_count()) {
    1854:  |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1855:  (20:02:12) οΏ½[32mINFO: οΏ½[0mFrom Installing external/rules_ruby++ruby+bundle/rb/vendor/cache/bundler-2.6.3.gem (@@rules_ruby++ruby+bundle//:bundler-2.6.3):
    1856:  Successfully installed bundler-2.6.3
    1857:  1 gem installed
    1858:  (20:02:12) οΏ½[32mINFO: οΏ½[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (69 source files):
    1859:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1860:  private final ErrorCodes errorCodes;
    1861:  ^
    1862:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1863:  this.errorCodes = new ErrorCodes();
    1864:  ^
    1865:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1866:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1867:  ^
    1868:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1869:  ErrorCodes errorCodes = new ErrorCodes();
    1870:  ^
    1871:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1872:  ErrorCodes errorCodes = new ErrorCodes();
    1873:  ^
    1874:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1875:  response.setStatus(ErrorCodes.SUCCESS);
    1876:  ^
    1877:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1878:  response.setState(ErrorCodes.SUCCESS_STRING);
    1879:  ^
    1880:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1881:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1882:  ^
    1883:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1884:  new ErrorCodes().getExceptionType((String) rawError);
    1885:  ^
    1886:  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
    1887:  private final ErrorCodes errorCodes = new ErrorCodes();
    1888:  ^
    1889:  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
    1890:  private final ErrorCodes errorCodes = new ErrorCodes();
    1891:  ^
    1892:  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
    1893:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1894:  ^
    1895:  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
    1896:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1897:  ^
    1898:  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
    1899:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1900:  ^
    1901:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1902:  response.setStatus(ErrorCodes.SUCCESS);
    1903:  ^
    1904:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1905:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1906:  ^
    1907:  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
    1908:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1909:  ^
    1910:  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
    1911:  private final ErrorCodes errorCodes = new ErrorCodes();
    1912:  ^
    1913:  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
    1914:  private final ErrorCodes errorCodes = new ErrorCodes();
    1915:  ^
    1916:  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
    1917:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1918:  ^
    1919:  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
    1920:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1921:  ^
    1922:  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
    1923:  response.setStatus(ErrorCodes.SUCCESS);
    1924:  ^
    ...
    
    2034:  127 |     for (int i = 0; i < path.size(); ++i) {
    2035:  |                     ~~^~~~~~~~~~~~~
    2036:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/action_test.html -> javascript/atoms/test/action_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    2037:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/attribute_test.html -> javascript/atoms/test/attribute_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    2038:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/child_locator_test.html -> javascript/atoms/test/child_locator_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    2039:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/click_link_test.html -> javascript/atoms/test/click_link_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    2040:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2041:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2042:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2043:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2044:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/deps.js -> javascript/atoms/test/deps.js obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    2045:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2046:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2047:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2048:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2049:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397: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
    2050:  (20:02:17) οΏ½[35mWARNING: οΏ½[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:397:19: runfiles symlink javascript/atoms/test/events_test.html -> javascript/atoms/test/events_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    ...
    
    2178:  οΏ½[32m[11,622 / 12,589]οΏ½[0m 136 / 2061 tests;οΏ½[0m Building java/src/org/openqa/selenium/grid/distributor/selector/libselector.jar (3 source files); 7s remote, remote-cache ... (50 actions, 1 running)
    2179:  (20:02:48) οΏ½[32mAnalyzing:οΏ½[0m 2369 targets (1673 packages loaded, 61564 targets configured)
    2180:  οΏ½[32m[11,660 / 12,672]οΏ½[0m 149 / 2061 tests;οΏ½[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:virtual_authenticator-chrome-bidi; 4s ... (50 actions, 0 running)
    2181:  (20:02:53) οΏ½[32mAnalyzing:οΏ½[0m 2369 targets (1673 packages loaded, 63087 targets configured)
    2182:  οΏ½[32m[11,692 / 12,784]οΏ½[0m 171 / 2061 tests;οΏ½[0m Testing //py:common-chrome-bidi-test/selenium/webdriver/common/bidi_browser_tests.py; 5s remote, remote-cache ... (50 actions, 0 running)
    2183:  (20:02:58) οΏ½[32mAnalyzing:οΏ½[0m 2369 targets (1673 packages loaded, 63135 targets configured)
    2184:  οΏ½[32m[11,725 / 13,006]οΏ½[0m 196 / 2061 tests;οΏ½[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:timeout-chrome-beta-bidi; 4s ... (50 actions, 2 running)
    2185:  (20:03:03) οΏ½[32mAnalyzing:οΏ½[0m 2369 targets (1676 packages loaded, 63189 targets configured)
    2186:  οΏ½[32m[11,749 / 13,187]οΏ½[0m 213 / 2061 tests;οΏ½[0m Building java/src/org/openqa/selenium/grid/distributor/libdistributor.jar (9 source files); 8s remote, remote-cache ... (50 actions, 1 running)
    2187:  (20:03:08) οΏ½[32mAnalyzing:οΏ½[0m 2369 targets (1680 packages loaded, 65021 targets configured)
    2188:  οΏ½[32m[11,846 / 13,330]οΏ½[0m 299 / 2190 tests;οΏ½[0m Building java/test/org/openqa/selenium/grid/distributor/selector/GreedySlotSelectorTest.jar (1 source file); 3s remote, remote-cache ... (50 actions, 1 running)
    2189:  (20:03:12) οΏ½[32mINFO: οΏ½[0mAnalyzed 2369 targets (1681 packages loaded, 65253 targets configured).
    2190:  (20:03:13) οΏ½[32m[12,002 / 13,522]οΏ½[0m 437 / 2369 tests;οΏ½[0m Testing //rb/spec/integration/selenium/webdriver:navigation-firefox-bidi; 0s remote, remote-cache ... (50 actions, 0 running)
    2191:  (20:03:18) οΏ½[32m[12,534 / 14,013]οΏ½[0m 592 / 2369 tests;οΏ½[0m Building java/src/org/openqa/selenium/grid/sessionqueue/local/liblocal.jar (1 source file); 2s remote, remote-cache ... (46 actions, 12 running)
    2192:  (20:03:19) οΏ½[32mINFO: οΏ½[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
    2193:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2194:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
    2195:  ^
    2196:  (20:03:19) οΏ½[32mINFO: οΏ½[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2197:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2198:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2199:  ^
    2200:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2201:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2202:  ^
    2203:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2204:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2205:  ^
    2206:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2207:  private final ErrorCodes errorCodes = new ErrorCodes();
    2208:  ^
    2209:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2210:  private final ErrorCodes errorCodes = new ErrorCodes();
    2211:  ^
    2212:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2213:  private final ErrorCodes errorCodes = new ErrorCodes();
    2214:  ^
    2215:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2216:  private final ErrorCodes errorCodes = new ErrorCodes();
    2217:  ^
    2218:  (20:03:19) οΏ½[32mINFO: οΏ½[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2219:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2220:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
    2221:  ^
    2222:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2223:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2224:  ^
    2225:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2226:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2227:  ^
    2228:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2229:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2230:  ^
    2231:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2232:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2233:  ^
    2234:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2235:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
    2236:  ^
    2237:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2238:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2239:  ^
    2240:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2241:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2242:  ^
    2243:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2244:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2245:  ^
    2246:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2247:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
    2248:  ^
    2249:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2250:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
    2251:  ^
    2252:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2253:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
    2254:  ^
    2255:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2256:  ErrorCodes.UNHANDLED_ERROR,
    2257:  ^
    2258:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2259:  ErrorCodes.UNHANDLED_ERROR,
    2260:  ^
    2261:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2262:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2263:  ^
    2264:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2265:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2266:  ^
    2267:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2268:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2269:  ^
    2270:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2271:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2272:  ^
    2273:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2274:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2275:  ^
    2276:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2277:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2278:  ^
    2279:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2280:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2281:  ^
    2282:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2283:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2284:  ^
    2285:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2286:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2287:  ^
    2288:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2289:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
    2290:  ^
    2291:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2292:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2293:  ^
    2294:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2295:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2296:  ^
    2297:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2298:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2299:  ^
    2300:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2301:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2302:  ^
    2303:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2304:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2305:  ^
    2306:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2307:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
    2308:  ^
    2309:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2310:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
    2311:  ^
    2312:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2313:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2314:  ^
    2315:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2316:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
    2317:  ^
    2318:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2319:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2320:  ^
    2321:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2322:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
    2323:  ^
    2324:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2325:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
    2326:  ^
    2327:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2328:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
    2329:  ^
    2330:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2331:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
    2332:  ^
    2333:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2334:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
    2335:  ^
    2336:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2337:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
    2338:  ^
    2339:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2340:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
    2341:  ^
    2342:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2343:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
    2344:  ^
    2345:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2346:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
    2347:  ^
    2348:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2349:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
    2350:  ^
    2351:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2352:  ? ErrorCodes.INVALID_SELECTOR_ERROR
    2353:  ^
    2354:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2355:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
    2356:  ^
    2357:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2358:  response.setState(new ErrorCodes().toState(status));
    2359:  ^
    2360:  (20:03:20) οΏ½[32mINFO: οΏ½[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
    2361:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2362:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2363:  ^
    2364:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2365:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2366:  ^
    2367:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2368:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
    2369:  ^
    2370:  (20:03:23) οΏ½[32m[13,117 / 14,384]οΏ½[0m 773 / 2369 tests;οΏ½[0m Building java/src/org/openqa/selenium/grid/distributor/config/libconfig.jar (2 source files) and running annotation processors (AutoServiceProcessor); 3s remote, remote-cache ... (47 actions, 16 running)
    2371:  (20:03:23) οΏ½[32mINFO: οΏ½[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
    2372:  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
    2373:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
    2374:  ^
    2375:  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
    2376:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);
    2377:  ^
    2378:  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
    2379:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2380:  ^
    2381:  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
    2382:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2383:  ^
    ...
    
    2444:  (20:04:25) οΏ½[32m[16,036 / 16,109]οΏ½[0m 2001 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 37s remote, remote-cache ... (9 actions, 5 running)
    2445:  (20:04:29) οΏ½[31mοΏ½[1mFAIL: οΏ½[0m//java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest-edge/test_attempts/attempt_1.log)
    2446:  (20:04:31) οΏ½[32m[16,037 / 16,109]οΏ½[0m 2002 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 43s remote, remote-cache ... (8 actions, 5 running)
    2447:  (20:04:36) οΏ½[32m[16,039 / 16,109]οΏ½[0m 2004 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 48s remote, remote-cache ... (6 actions, 5 running)
    2448:  (20:04:43) οΏ½[32m[16,043 / 16,109]οΏ½[0m 2007 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 55s remote, remote-cache ... (3 actions, 2 running)
    2449:  (20:04:48) οΏ½[32m[16,047 / 16,218]οΏ½[0m 2008 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 60s remote, remote-cache ... (50 actions, 4 running)
    2450:  (20:04:53) οΏ½[32m[16,049 / 16,266]οΏ½[0m 2008 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 65s remote, remote-cache ... (49 actions, 4 running)
    2451:  (20:04:58) οΏ½[32m[16,051 / 16,316]οΏ½[0m 2008 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 70s remote, remote-cache ... (50 actions, 6 running)
    2452:  (20:05:04) οΏ½[32m[16,052 / 16,316]οΏ½[0m 2008 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 76s remote, remote-cache ... (50 actions, 9 running)
    2453:  (20:05:11) οΏ½[32m[16,053 / 16,318]οΏ½[0m 2008 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 83s remote, remote-cache ... (50 actions, 8 running)
    2454:  (20:05:16) οΏ½[32m[16,054 / 16,318]οΏ½[0m 2009 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 88s remote, remote-cache ... (50 actions, 10 running)
    2455:  (20:05:21) οΏ½[32m[16,054 / 16,318]οΏ½[0m 2009 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 93s remote, remote-cache ... (50 actions, 15 running)
    2456:  (20:05:27) οΏ½[32m[16,056 / 16,319]οΏ½[0m 2010 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 99s remote, remote-cache ... (50 actions, 15 running)
    2457:  (20:05:32) οΏ½[32m[16,058 / 16,321]οΏ½[0m 2010 / 2369 tests;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge; 104s remote, remote-cache ... (50 actions, 17 running)
    2458:  (20:05:36) οΏ½[31mοΏ½[1mFAIL: οΏ½[0m//java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest-edge/test.log)
    2459:  οΏ½[31mοΏ½[1mFAILED: οΏ½[0m//java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge (Summary)
    2460:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest-edge/test.log
    2461:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest-edge/test_attempts/attempt_1.log
    2462:  (20:05:36) οΏ½[32mINFO: οΏ½[0mFrom Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge:
    2463:  ==================== Test output for //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge:
    2464:  Failures: 1
    2465:  1) canGetAllCookies() (org.openqa.selenium.bidi.storage.StorageCommandsTest)
    2466:  org.opentest4j.AssertionFailedError: 
    2467:  Expecting value to be true but was false
    2468:  at org.openqa.selenium.bidi.storage.StorageCommandsTest.canGetAllCookies(StorageCommandsTest.java:283)
    2469:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChA-6W_NpUFQ54Dgk2XNuH38EgdkZWZhdWx0GiUKIIQa1mN7CUp_CKvSuES5HS0yYvJjsUhm4fIGi0g59LhNELwD
    2470:  ================================================================================
    2471:  ==================== Test output for //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge:
    2472:  Failures: 1
    2473:  1) canGetAllCookies() (org.openqa.selenium.bidi.storage.StorageCommandsTest)
    2474:  org.opentest4j.AssertionFailedError: 
    2475:  Expecting value to be true but was false
    2476:  at org.openqa.selenium.bidi.storage.StorageCommandsTest.canGetAllCookies(StorageCommandsTest.java:283)
    2477:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChA-6W_NpUFQ54Dgk2XNuH38EgdkZWZhdWx0GiUKIIQa1mN7CUp_CKvSuES5HS0yYvJjsUhm4fIGi0g59LhNELwD
    2478:  ================================================================================
    2479:  (20:05:41) οΏ½[32m[16,059 / 16,321]οΏ½[0m 2011 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m [Sched] Testing //java/test/org/openqa/selenium/interactions:DefaultKeyboardTest-remote; 53s ... (50 actions, 18 running)
    2480:  (20:05:46) οΏ½[32m[16,061 / 16,322]οΏ½[0m 2012 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m [Sched] Testing //java/test/org/openqa/selenium/devtools:CdpVersionFinderTest-remote; 58s ... (50 actions, 18 running)
    2481:  (20:05:54) οΏ½[32m[16,061 / 16,322]οΏ½[0m 2012 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m [Sched] Testing //java/test/org/openqa/selenium/devtools:CdpVersionFinderTest-remote; 65s ... (50 actions, 19 running)
    2482:  (20:06:00) οΏ½[32m[16,063 / 16,322]οΏ½[0m 2014 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m [Sched] Testing //java/test/org/openqa/selenium/bidi/input:DragAndDropTest-chrome-remote; 71s ... (50 actions, 20 running)
    2483:  (20:06:06) οΏ½[32m[16,065 / 16,322]οΏ½[0m 2016 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m [Sched] Building java/test/org/openqa/selenium/grid/distributor/DrainTest-remote.jar (1 source file); 77s ... (50 actions, 21 running)
    2484:  (20:06:11) οΏ½[32m[16,069 / 16,323]οΏ½[0m 2019 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m [Sched] Testing //java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-remote; 81s ... (50 actions, 22 running)
    2485:  (20:06:17) οΏ½[32m[16,074 / 16,326]οΏ½[0m 2021 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 82s remote, remote-cache ... (50 actions, 24 running)
    2486:  (20:06:23) οΏ½[32m[16,077 / 16,326]οΏ½[0m 2024 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 88s remote, remote-cache ... (50 actions, 31 running)
    2487:  (20:06:28) οΏ½[32m[16,082 / 16,326]οΏ½[0m 2027 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 93s remote, remote-cache ... (50 actions, 32 running)
    2488:  (20:06:33) οΏ½[32m[16,085 / 16,326]οΏ½[0m 2029 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 98s remote, remote-cache ... (50 actions, 34 running)
    2489:  (20:06:38) οΏ½[32m[16,087 / 16,326]οΏ½[0m 2031 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 103s remote, remote-cache ... (50 actions, 35 running)
    2490:  (20:06:44) οΏ½[32m[16,090 / 16,327]οΏ½[0m 2033 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 108s remote, remote-cache ... (50 actions, 35 running)
    2491:  (20:06:49) οΏ½[32m[16,095 / 16,329]οΏ½[0m 2035 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 113s remote, remote-cache ... (50 actions, 34 running)
    2492:  (20:06:54) οΏ½[32m[16,098 / 16,330]οΏ½[0m 2037 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 119s remote, remote-cache ... (50 actions, 34 running)
    2493:  (20:06:59) οΏ½[32m[16,100 / 16,332]οΏ½[0m 2037 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-chrome-remote; 124s remote, remote-cache ... (50 actions, 34 running)
    2494:  (20:07:06) οΏ½[32m[16,105 / 16,333]οΏ½[0m 2040 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:LocateNodesTest-remote; 104s remote, remote-cache ... (50 actions, 34 running)
    2495:  (20:07:11) οΏ½[32m[16,111 / 16,335]οΏ½[0m 2045 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:LocateNodesTest-remote; 109s remote, remote-cache ... (50 actions, 34 running)
    2496:  (20:07:16) οΏ½[32m[16,114 / 16,335]οΏ½[0m 2049 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 67s remote, remote-cache ... (50 actions, 35 running)
    2497:  (20:07:21) οΏ½[32m[16,124 / 16,338]οΏ½[0m 2051 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 72s remote, remote-cache ... (50 actions, 34 running)
    2498:  (20:07:27) οΏ½[32m[16,132 / 16,342]οΏ½[0m 2057 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 77s remote, remote-cache ... (50 actions, 35 running)
    2499:  (20:07:33) οΏ½[32m[16,136 / 16,342]οΏ½[0m 2061 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 83s remote, remote-cache ... (50 actions, 35 running)
    2500:  (20:07:38) οΏ½[32m[16,145 / 16,346]οΏ½[0m 2068 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 88s remote, remote-cache ... (50 actions, 34 running)
    2501:  (20:07:43) οΏ½[32m[16,148 / 16,351]οΏ½[0m 2068 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 93s remote, remote-cache ... (50 actions, 35 running)
    2502:  (20:07:48) οΏ½[32m[16,153 / 16,356]οΏ½[0m 2070 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 99s remote, remote-cache ... (50 actions, 38 running)
    2503:  (20:07:54) οΏ½[32m[16,154 / 16,356]οΏ½[0m 2071 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 104s remote, remote-cache ... (50 actions, 41 running)
    2504:  (20:07:55) οΏ½[31mοΏ½[1mFAIL: οΏ½[0m//java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge-remote (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest-edge-remote/test_attempts/attempt_1.log)
    2505:  (20:07:59) οΏ½[32m[16,162 / 16,356]οΏ½[0m 2079 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 110s remote, remote-cache ... (50 actions, 46 running)
    2506:  (20:08:04) οΏ½[32m[16,167 / 16,357]οΏ½[0m 2083 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 115s remote, remote-cache ... (50 actions, 49 running)
    2507:  (20:08:10) οΏ½[32m[16,171 / 16,360]οΏ½[0m 2085 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 120s remote, remote-cache ... (50 actions, 49 running)
    2508:  (20:08:15) οΏ½[32m[16,174 / 16,363]οΏ½[0m 2085 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 126s remote, remote-cache ... (50 actions, 48 running)
    2509:  (20:08:21) οΏ½[32m[16,181 / 16,366]οΏ½[0m 2091 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 131s remote, remote-cache ... (50 actions running)
    2510:  (20:08:26) οΏ½[32m[16,187 / 16,368]οΏ½[0m 2095 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 136s remote, remote-cache ... (50 actions, 48 running)
    2511:  (20:08:31) οΏ½[32m[16,195 / 16,374]οΏ½[0m 2099 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 142s remote, remote-cache ... (50 actions, 48 running)
    2512:  (20:08:37) οΏ½[32m[16,200 / 16,375]οΏ½[0m 2103 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 147s remote, remote-cache ... (50 actions, 49 running)
    2513:  (20:08:42) οΏ½[32m[16,205 / 16,379]οΏ½[0m 2105 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 152s remote, remote-cache ... (50 actions, 48 running)
    2514:  (20:08:49) οΏ½[32m[16,206 / 16,379]οΏ½[0m 2107 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 159s remote, remote-cache ... (50 actions running)
    2515:  (20:08:54) οΏ½[32m[16,208 / 16,379]οΏ½[0m 2108 / 2369 tests, οΏ½[31mοΏ½[1m1 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 165s remote, remote-cache ... (50 actions, 49 running)
    2516:  (20:08:57) οΏ½[31mοΏ½[1mFAIL: οΏ½[0m//java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge-remote (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest-edge-remote/test.log)
    2517:  οΏ½[31mοΏ½[1mFAILED: οΏ½[0m//java/test/org/openqa/selenium/bidi/storage:StorageCommandsTest-edge-remote (Summary)
    2518:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/bidi/storage/StorageCommandsTest-edge-remote/test.log
    ...
    
    2623:  20:07:49.540 INFO [GridModel.release] - Releasing slot for session id 078918c35b74ae730e8a9fda39e9fb07
    2624:  20:07:49.540 INFO [SessionSlot.stop] - Stopping session 078918c35b74ae730e8a9fda39e9fb07
    2625:  20:07:49.599 INFO [LocalDistributor.newSession] - Session request received by the Distributor: 
    2626:  [Capabilities {browserName: MicrosoftEdge, ms:edgeOptions: {args: [disable-extensions, disable-infobars, disable-breakpad, disable-dev-shm-usage, no-sandbox], binary: external/+pin_browsers_exte..., extensions: [], prefs: {exit_type: None, exited_cleanly: true}}, unhandledPromptBehavior: ignore, webSocketUrl: true}]
    2627:  20:07:52.023 INFO [LocalNode.newSession] - Session created by the Node. Id: 03e616de791d4e7151bb12206728fe3b, Caps: Capabilities {acceptInsecureCerts: false, browserName: MicrosoftEdge, browserVersion: 137.0.3296.68, fedcm:accounts: true, ms:edgeOptions: {debuggerAddress: localhost:32841}, msedge: {msedgedriverVersion: 137.0.3296.68 (f3affdcf267b..., userDataDir: /tmp/.com.microsoft.Edge.8s...}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:25439/sessio..., se:cdpVersion: 137.0.3296.68, se:gridWebSocketUrl: ws://localhost:32248/sessio..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:25439/sessio..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2628:  20:07:52.035 INFO [LocalDistributor.newSession] - Session created by the Distributor. Id: 03e616de791d4e7151bb12206728fe3b 
    2629:  Caps: Capabilities {acceptInsecureCerts: false, browserName: MicrosoftEdge, browserVersion: 137.0.3296.68, fedcm:accounts: true, ms:edgeOptions: {debuggerAddress: localhost:32841}, msedge: {msedgedriverVersion: 137.0.3296.68 (f3affdcf267b..., userDataDir: /tmp/.com.microsoft.Edge.8s...}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:25439/sessio..., se:cdpVersion: 137.0.3296.68, se:gridWebSocketUrl: ws://localhost:32248/sessio..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:25439/sessio..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2630:  20:07:52.097 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:32248/session/03e616de791d4e7151bb12206728fe3b
    2631:  20:07:52.157 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:32841/devtools/browser/058b4c04-d772-4701-a45e-07199fa89112
    2632:  20:07:54.611 INFO [LocalNode.stopTimedOutSession] - Session id 03e616de791d4e7151bb12206728fe3b is stopping on demand...
    2633:  20:07:54.611 INFO [LocalSessionMap.remove] - Deleted session from local Session Map, Id: 03e616de791d4e7151bb12206728fe3b
    2634:  20:07:54.611 INFO [GridModel.release] - Releasing slot for session id 03e616de791d4e7151bb12206728fe3b
    2635:  20:07:54.612 INFO [SessionSlot.stop] - Stopping session 03e616de791d4e7151bb12206728fe3b
    2636:  Failures: 1
    2637:  1) canGetAllCookies() (org.openqa.selenium.bidi.storage.StorageCommandsTest)
    2638:  org.opentest4j.AssertionFailedError: 
    2639:  Expecting value to be true but was false
    ...
    
    2746:  20:08:51.603 INFO [GridModel.release] - Releasing slot for session id 37386a6f1ca08e1e1359e58525295ce2
    2747:  20:08:51.603 INFO [SessionSlot.stop] - Stopping session 37386a6f1ca08e1e1359e58525295ce2
    2748:  20:08:51.667 INFO [LocalDistributor.newSession] - Session request received by the Distributor: 
    2749:  [Capabilities {browserName: MicrosoftEdge, ms:edgeOptions: {args: [disable-extensions, disable-infobars, disable-breakpad, disable-dev-shm-usage, no-sandbox], binary: external/+pin_browsers_exte..., extensions: [], prefs: {exit_type: None, exited_cleanly: true}}, unhandledPromptBehavior: ignore, webSocketUrl: true}]
    2750:  20:08:53.876 INFO [LocalNode.newSession] - Session created by the Node. Id: 6c6b3a34589eeb675425c8538b671861, Caps: Capabilities {acceptInsecureCerts: false, browserName: MicrosoftEdge, browserVersion: 137.0.3296.68, fedcm:accounts: true, ms:edgeOptions: {debuggerAddress: localhost:38397}, msedge: {msedgedriverVersion: 137.0.3296.68 (f3affdcf267b..., userDataDir: /tmp/.com.microsoft.Edge.ju...}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:4014/session..., se:cdpVersion: 137.0.3296.68, se:gridWebSocketUrl: ws://localhost:8174/session..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:4014/session..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2751:  20:08:53.891 INFO [LocalDistributor.newSession] - Session created by the Distributor. Id: 6c6b3a34589eeb675425c8538b671861 
    2752:  Caps: Capabilities {acceptInsecureCerts: false, browserName: MicrosoftEdge, browserVersion: 137.0.3296.68, fedcm:accounts: true, ms:edgeOptions: {debuggerAddress: localhost:38397}, msedge: {msedgedriverVersion: 137.0.3296.68 (f3affdcf267b..., userDataDir: /tmp/.com.microsoft.Edge.ju...}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:cdp: ws://127.0.0.1:4014/session..., se:cdpVersion: 137.0.3296.68, se:gridWebSocketUrl: ws://localhost:8174/session..., setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore, webSocketUrl: ws://127.0.0.1:4014/session..., webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
    2753:  20:08:53.984 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:8174/session/6c6b3a34589eeb675425c8538b671861
    2754:  20:08:54.081 INFO [ProxyNodeWebsockets.createWsEndPoint] - Establishing connection to ws://localhost:38397/devtools/browser/e5027dca-2697-4803-b1a9-ccb7b52f60d4
    2755:  20:08:56.374 INFO [LocalNode.stopTimedOutSession] - Session id 6c6b3a34589eeb675425c8538b671861 is stopping on demand...
    2756:  20:08:56.375 INFO [LocalSessionMap.remove] - Deleted session from local Session Map, Id: 6c6b3a34589eeb675425c8538b671861
    2757:  20:08:56.375 INFO [GridModel.release] - Releasing slot for session id 6c6b3a34589eeb675425c8538b671861
    2758:  20:08:56.376 INFO [SessionSlot.stop] - Stopping session 6c6b3a34589eeb675425c8538b671861
    2759:  Failures: 1
    2760:  1) canGetAllCookies() (org.openqa.selenium.bidi.storage.StorageCommandsTest)
    2761:  org.opentest4j.AssertionFailedError: 
    2762:  Expecting value to be true but was false
    2763:  at org.openqa.selenium.bidi.storage.StorageCommandsTest.canGetAllCookies(StorageCommandsTest.java:283)
    2764:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChBOoLKsW6VUfqXUD-AqYVJfEgdkZWZhdWx0GiUKIJqa99AI4dWLhGf1R3Nlwmx4QB3BhYvAk4F3yiMYnuT2ELwD
    2765:  ================================================================================
    2766:  (20:09:01) οΏ½[32m[16,215 / 16,379]οΏ½[0m 2115 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 171s remote, remote-cache ... (50 actions running)
    2767:  (20:09:06) οΏ½[32m[16,215 / 16,379]οΏ½[0m 2116 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 177s remote, remote-cache ... (50 actions running)
    2768:  (20:09:11) οΏ½[32m[16,218 / 16,379]οΏ½[0m 2119 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 182s remote, remote-cache ... (50 actions running)
    2769:  (20:09:17) οΏ½[32m[16,225 / 16,379]οΏ½[0m 2125 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 187s remote, remote-cache ... (50 actions, 49 running)
    2770:  (20:09:22) οΏ½[32m[16,233 / 16,379]οΏ½[0m 2133 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 193s remote, remote-cache ... (50 actions running)
    2771:  (20:09:27) οΏ½[32m[16,238 / 16,379]οΏ½[0m 2138 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 198s remote, remote-cache ... (50 actions running)
    2772:  (20:09:33) οΏ½[32m[16,245 / 16,379]οΏ½[0m 2145 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 203s remote, remote-cache ... (50 actions, 49 running)
    2773:  (20:09:38) οΏ½[32m[16,250 / 16,379]οΏ½[0m 2150 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 208s remote, remote-cache ... (50 actions, 49 running)
    2774:  (20:09:43) οΏ½[32m[16,251 / 16,379]οΏ½[0m 2151 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 213s remote, remote-cache ... (50 actions running)
    2775:  (20:09:48) οΏ½[32m[16,256 / 16,379]οΏ½[0m 2157 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 219s remote, remote-cache ... (50 actions running)
    2776:  (20:09:53) οΏ½[32m[16,264 / 16,379]οΏ½[0m 2164 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 224s remote, remote-cache ... (50 actions, 49 running)
    2777:  (20:09:58) οΏ½[32m[16,269 / 16,379]οΏ½[0m 2169 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 229s remote, remote-cache ... (50 actions, 49 running)
    2778:  (20:10:04) οΏ½[32m[16,279 / 16,379]οΏ½[0m 2180 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 234s remote, remote-cache ... (50 actions running)
    2779:  (20:10:09) οΏ½[32m[16,282 / 16,379]οΏ½[0m 2183 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 239s remote, remote-cache ... (50 actions running)
    2780:  (20:10:14) οΏ½[32m[16,287 / 16,379]οΏ½[0m 2187 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 245s remote, remote-cache ... (50 actions, 49 running)
    2781:  (20:10:19) οΏ½[32m[16,294 / 16,379]οΏ½[0m 2195 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 250s remote, remote-cache ... (50 actions, 49 running)
    2782:  (20:10:24) οΏ½[32m[16,306 / 16,379]οΏ½[0m 2206 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 255s remote, remote-cache ... (50 actions, 49 running)
    2783:  (20:10:29) οΏ½[32m[16,322 / 16,379]οΏ½[0m 2222 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/script:ScriptCommandsTest-remote; 260s remote, remote-cache ... (50 actions, 49 running)
    2784:  (20:10:35) οΏ½[32m[16,332 / 16,379]οΏ½[0m 2232 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 236s remote, remote-cache ... (47 actions running)
    2785:  (20:10:40) οΏ½[32m[16,336 / 16,379]οΏ½[0m 2237 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 242s remote, remote-cache ... (43 actions running)
    2786:  (20:10:46) οΏ½[32m[16,342 / 16,379]οΏ½[0m 2242 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 247s remote, remote-cache ... (37 actions running)
    2787:  (20:10:51) οΏ½[32m[16,346 / 16,379]οΏ½[0m 2246 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 252s remote, remote-cache ... (33 actions running)
    2788:  (20:10:56) οΏ½[32m[16,351 / 16,379]οΏ½[0m 2251 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 257s remote, remote-cache ... (28 actions running)
    2789:  (20:11:02) οΏ½[32m[16,356 / 16,379]οΏ½[0m 2256 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 263s remote, remote-cache ... (23 actions running)
    2790:  (20:11:11) οΏ½[32m[16,359 / 16,379]οΏ½[0m 2259 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 272s remote, remote-cache ... (20 actions running)
    2791:  (20:11:16) οΏ½[32m[16,360 / 16,379]οΏ½[0m 2260 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 277s remote, remote-cache ... (19 actions running)
    2792:  (20:11:25) οΏ½[32m[16,360 / 16,379]οΏ½[0m 2261 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 286s remote, remote-cache ... (19 actions running)
    2793:  (20:11:30) οΏ½[32m[16,362 / 16,379]οΏ½[0m 2262 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 291s remote, remote-cache ... (17 actions running)
    2794:  (20:11:36) οΏ½[32m[16,364 / 16,379]οΏ½[0m 2264 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 297s remote, remote-cache ... (15 actions running)
    2795:  (20:11:41) οΏ½[32m[16,365 / 16,379]οΏ½[0m 2265 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 302s remote, remote-cache ... (14 actions running)
    2796:  (20:11:46) οΏ½[32m[16,367 / 16,379]οΏ½[0m 2268 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 307s remote, remote-cache ... (12 actions running)
    2797:  (20:11:52) οΏ½[32m[16,368 / 16,379]οΏ½[0m 2269 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/bidi/browsingcontext:BrowsingContextTest-remote; 313s remote, remote-cache ... (11 actions running)
    2798:  (20:11:59) οΏ½[31mοΏ½[1mFAIL: οΏ½[0m//java/test/org/openqa/selenium/grid/router:StressTest (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/java/test/org/openqa/selenium/grid/router/StressTest/test_attempts/attempt_1.log)
    2799:  (20:11:59) οΏ½[32m[16,370 / 16,379]οΏ½[0m 2270 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/grid/router:StressTest-chrome; 122s remote, remote-cache ... (9 actions running)
    2800:  (20:12:06) οΏ½[32m[16,370 / 16,379]οΏ½[0m 2270 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/grid/router:StressTest-chrome; 129s remote, remote-cache ... (9 actions running)
    2801:  (20:12:16) οΏ½[32m[16,370 / 16,379]οΏ½[0m 2270 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/grid/router:StressTest-chrome; 139s remote, remote-cache ... (9 actions running)
    2802:  (20:12:28) οΏ½[32m[16,370 / 16,379]οΏ½[0m 2271 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/grid/router:StressTest-chrome; 151s remote, remote-cache ... (9 actions running)
    2803:  (20:12:36) οΏ½[32m[16,371 / 16,379]οΏ½[0m 2271 / 2369 tests, οΏ½[31mοΏ½[1m2 failedοΏ½[0m;οΏ½[0m Testing //java/test/org/openqa/selenium/grid/router:StressTest-chrome; 159s remote, remote-cache ... (8 actions ...

    @VietND96 VietND96 force-pushed the greedy-slot-selector branch from 71a813e to 9f5ff01 Compare June 13, 2025 20:25
    @VietND96 VietND96 changed the title [grid] Add GreedySlotSelector as a built-in slot-matcher option [grid] Add GreedySlotSelector as a built-in slot-selector option Jun 17, 2025
    @VietND96 VietND96 merged commit a349ab9 into trunk Jun 18, 2025
    29 of 31 checks passed
    @VietND96 VietND96 deleted the greedy-slot-selector branch June 18, 2025 03:30
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Labels

    B-grid Everything grid and server related C-java Java Bindings Review effort 3/5

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    [πŸš€ Feature]: Greedy Slot Scheduler Algorithm

    3 participants