Skip to content

[build] Ensure all valid ruby tests are running on RBE #15718

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

Open
wants to merge 5 commits into
base: trunk
Choose a base branch
from

Conversation

titusfortner
Copy link
Member

@titusfortner titusfortner commented May 7, 2025

User description

🔗 Related Issues

We've seen a few issues in other bindings for problems hidden by tests in the skipped-test file

💥 What does this PR do?

  • Fix websocket bug that throws unexpected IO errors
  • I think if local is an option in spawn-strategy it has exclusive-if-local tests running in series unnecessarily
  • Adds 106 bidi-remote ruby test targets
  • Removes 164 ruby test targets for configurations that do not make sense; including custom tags for bidi-only, remote-only, no-grid; also setting bidi-supported and dev-tools-supported for specific browsers.

🔧 Implementation Notes

  • Switched from Thread.stop to Thread.exit

💡 Additional Considerations

  • I probably should split this up between build commits and ruby commits because it needs review from multiple people
  • There are definitely more tweaks we can make with the local guards, especially related to bidi

🔄 Types of changes

  • Cleanup (formatting, renaming)
  • Bug fix (backwards compatible)

PR Type

Enhancement, Bug fix


Description

  • Refactored Ruby test build logic for better variant handling

    • Added support for bidi-only, remote-only, and no-grid tags
    • Reduced unnecessary test target generation
    • Improved browser capability tagging (bidi_supported, devtools_supported)
  • Fixed WebSocket connection error handling in Ruby bindings

    • Replaced Thread.stop with Thread.exit for cleaner thread termination
    • Improved logging and error management in socket threads
  • Cleaned up and reorganized Bazel Ruby test targets

    • Removed Ruby test targets from .skipped-tests
    • Added/updated BUILD.bazel files for browser-specific test execution and tagging
    • Added new test target for IE service
  • Minor test and helper improvements

    • Fixed test exclusions and error handling in specs
    • Improved helper method signatures and server logic

Changes walkthrough 📝

Relevant files
Enhancement
10 files
tests.bzl
Refactor test target generation and browser capability tagging
+66/-54 
helpers.rb
Enhance wait helper to accept extra options                           
+2/-2     
BUILD.bazel
Add/modify test targets for bidi and network; update tags
+18/-1   
BUILD.bazel
Add bidi-only tag to all BiDi test targets                             
+4/-1     
BUILD.bazel
Separate service test with no-grid/skip-rbe tags                 
+15/-2   
BUILD.bazel
Separate service test with no-grid/skip-rbe tags                 
+15/-2   
BUILD.bazel
Separate service test with no-grid/skip-rbe tags                 
+17/-1   
BUILD.bazel
Add new service test target for IE with no-grid tag           
+8/-0     
BUILD.bazel
Add grid-only tag to remote test targets                                 
+1/-0     
BUILD.bazel
Separate service test with no-grid tag for Safari               
+14/-1   
Bug fix
5 files
websocket_connection.rb
Improve WebSocket thread error handling and cleanup           
+21/-15 
action_builder_spec.rb
Fix test exclusion key for Firefox                                             
+1/-1     
devtools_spec.rb
Update test exclusivity to only Chrome/Edge                           
+1/-2     
driver_spec.rb
Improve waiting logic and test exclusion for downloads     
+4/-3     
rack_server.rb
Fix file upload parameter handling in Rack server               
+1/-1     
Configuration changes
2 files
.bazelrc.remote
Remove local spawn strategy from RBE config                           
+1/-1     
.skipped-tests
Remove Ruby integration test targets from skip list           
+0/-25   
Additional files
1 files
sample.crx [link]   

Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @titusfortner titusfortner requested review from p0deje, diemol and aguspe May 7, 2025 23:32
    @selenium-ci selenium-ci added C-rb Ruby Bindings B-build Includes scripting, bazel and CI integrations B-devtools Includes everything BiDi or Chrome DevTools related labels May 7, 2025
    Copy link
    Contributor

    qodo-merge-pro bot commented May 7, 2025

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    🎫 Ticket compliance analysis ❌

    1234 - Not compliant

    Non-compliant requirements:

    • Fix issue where JavaScript in link's href is not triggered on click() in Firefox 42.0 with Selenium 2.48.0/2.48.2

    5678 - Not compliant

    Non-compliant requirements:

    • Fix "ConnectFailure (Connection refused)" errors when instantiating ChromeDriver multiple times
    ⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
    🧪 PR contains tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Thread Management

    The change from Thread.stop to Thread.exit in the error handling of WebSocket connections could affect how resources are cleaned up. Verify that this doesn't lead to resource leaks or unexpected behavior in long-running sessions.

      WebDriver.logger.debug("BiDi socket closed: #{e.class} - #{e.message}", id: :websocket)
      Thread.exit
    rescue StandardError => e
      WebDriver.logger.debug("Unexpected error in BiDi socket thread: #{e.class} - #{e.message}", id: :websocket)
      Thread.exit
    Test Configuration

    The new variant-based test configuration system significantly changes how tests are generated and run. Ensure that all necessary test combinations are still covered and that the exclusion logic works correctly.

    VARIANTS = [
        {"suffix": "", "remote": False, "bidi": False},
        {"suffix": "-remote", "remote": True, "bidi": False},
        {"suffix": "-bidi", "remote": False, "bidi": True},
        {"suffix": "-bidi-remote", "remote": True, "bidi": True},
    ]
    
    for browser in browsers:
        config = BROWSERS[browser]
        for variant in VARIANTS:
            bidi_not_supported = variant["bidi"] and not config.get("bidi_supported", False)
            devtools_not_supported = "needs-devtools" in tags and not config.get("devtools_supported", False)
            excluded_by_bidi = "bidi-only" in tags and not variant["bidi"]
            excluded_by_grid = "remote-only" in tags and not variant["remote"]
            excluded_by_local = "no-grid" in tags and variant["remote"]
    
            if bidi_not_supported or devtools_not_supported or excluded_by_bidi or excluded_by_grid or excluded_by_local:
                continue
    Build Strategy

    Changing spawn_strategy from 'remote,local' to just 'remote' might affect build reliability if remote execution fails. Consider if this change could impact build stability.

    build:rbe --spawn_strategy=remote
    #build:rbe --nolegacy_important_outputs

    Copy link
    Contributor

    qodo-merge-pro bot commented May 7, 2025

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    Possible issue
    Close socket on error

    The error handling in the socket listener thread doesn't properly clean up
    resources. When a connection error occurs, you should close the socket before
    exiting the thread to prevent resource leaks.

    rb/lib/selenium/webdriver/common/websocket_connection.rb [98-103]

     rescue *CONNECTION_ERRORS => e
       WebDriver.logger.debug("BiDi socket closed: #{e.class} - #{e.message}", id: :websocket)
    +  socket.close rescue nil
       Thread.exit
     rescue StandardError => e
       WebDriver.logger.debug("Unexpected error in BiDi socket thread: #{e.class} - #{e.message}", id: :websocket)
    +  socket.close rescue nil
       Thread.exit
    • Apply / Chat
    Suggestion importance[1-10]: 8

    __

    Why: The suggestion correctly identifies a resource leak issue where the socket isn't properly closed when errors occur. Adding socket.close rescue nil ensures proper cleanup, preventing potential resource leaks which could impact application stability.

    Medium
    Fix test path scope

    The test arguments are too restrictive. The original code used "rb/spec/" which
    would run all specs, but the new code only runs integration specs. This could
    cause some tests to be missed.

    rb/spec/tests.bzl [212]

    -args = ["rb/spec/integration"],
    +args = ["rb/spec/"],
    • Apply / Chat
    Suggestion importance[1-10]: 7

    __

    Why: The suggestion correctly identifies that the test path was changed from "rb/spec/" to "rb/spec/integration", which could potentially miss non-integration tests. Restoring the original path would ensure all tests are run.

    Medium
    • Update

    Copy link
    Contributor

    qodo-merge-pro bot commented May 7, 2025

    CI Feedback 🧐

    (Feedback updated until commit 67d372e)

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

    Action: Ruby / Local Tests (firefox, macos) / Local Tests (firefox, macos)

    Failed stage: Run Bazel [❌]

    Failed test name: network-firefox-bidi-remote

    Failure summary:

    The action failed because multiple test failures occurred in the Selenium WebDriver Ruby bindings
    tests. The main failures were:

    1. //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote - This test failed with
    connection issues. The test attempts to use WebDriver's Network API with Firefox in BiDi mode, but
    encounters InvalidSessionIdError errors with the message "Tried to run command without establishing
    a connection".

    2. //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi and
    //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote - These tests
    failed because the viewport test expected window.devicePixelRatio to be 2.0 but got 1 instead (lines
    1471-1474, 1521-1524, 1571-1574).

    3. There was also a flaky test in //rb/spec/integration/selenium/webdriver:bidi-firefox-bidi that
    failed in 2 out of 3 runs.

    Relevant error logs:
    1:  ##[group]Operating System
    2:  macOS
    ...
    
    734:  See https://github.com/rubyzip/rubyzip for details. The Changelog also
    735:  lists other enhancements and bugfixes that have been implemented since
    736:  version 2.3.0.
    737:  2 installed gems you directly depend on are looking for funding.
    738:  Run `bundle fund` for details
    739:  �[32m[2,540 / 2,699]�[0m Action java/src/org/openqa/selenium/manager/libmanager-module.jar; 2s darwin-sandbox, disk-cache ... (3 actions, 1 running)
    740:  �[32m[2,540 / 2,699]�[0m Action java/src/org/openqa/selenium/manager/libmanager-module.jar; 3s darwin-sandbox, disk-cache ... (3 actions, 1 running)
    741:  �[32m[2,540 / 2,699]�[0m Action java/src/org/openqa/selenium/manager/libmanager-module.jar; 4s darwin-sandbox, disk-cache ... (3 actions, 1 running)
    742:  �[32m[2,542 / 2,699]�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-firefox-bidi; 0s local, disk-cache ... (3 actions, 1 running)
    743:  �[32m[2,542 / 2,699]�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-firefox-bidi; 1s local, disk-cache ... (3 actions, 1 running)
    744:  �[32m[2,542 / 2,699]�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-firefox-bidi; 11s local, disk-cache ... (3 actions, 1 running)
    745:  �[32m[2,542 / 2,699]�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-firefox-bidi; 44s local, disk-cache ... (3 actions, 1 running)
    746:  �[32m[2,542 / 2,699]�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-firefox-bidi; 46s local, disk-cache ... (3 actions, 2 running)
    747:  �[32m[2,543 / 2,699]�[0m 1 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/remote:element-firefox-bidi; 47s ... (3 actions, 2 running)
    748:  �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (69 source files):
    749:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    750:  private final ErrorCodes errorCodes;
    751:  ^
    752:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    753:  this.errorCodes = new ErrorCodes();
    754:  ^
    755:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    756:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    757:  ^
    758:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    759:  ErrorCodes errorCodes = new ErrorCodes();
    760:  ^
    761:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    762:  ErrorCodes errorCodes = new ErrorCodes();
    763:  ^
    764:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    765:  response.setStatus(ErrorCodes.SUCCESS);
    766:  ^
    767:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    768:  response.setState(ErrorCodes.SUCCESS_STRING);
    769:  ^
    770:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    771:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    772:  ^
    773:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    774:  new ErrorCodes().getExceptionType((String) rawError);
    775:  ^
    776:  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
    777:  private final ErrorCodes errorCodes = new ErrorCodes();
    778:  ^
    779:  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
    780:  private final ErrorCodes errorCodes = new ErrorCodes();
    781:  ^
    782:  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
    783:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    784:  ^
    785:  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
    786:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    787:  ^
    788:  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
    789:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    790:  ^
    791:  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
    792:  response.setStatus(ErrorCodes.SUCCESS);
    793:  ^
    794:  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
    795:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    796:  ^
    797:  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
    798:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    799:  ^
    800:  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
    801:  private final ErrorCodes errorCodes = new ErrorCodes();
    802:  ^
    803:  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
    804:  private final ErrorCodes errorCodes = new ErrorCodes();
    805:  ^
    806:  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
    807:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    808:  ^
    809:  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
    810:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    811:  ^
    812:  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
    813:  response.setStatus(ErrorCodes.SUCCESS);
    814:  ^
    ...
    
    835:  �[32m[2,558 / 2,699]�[0m 7 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:takes_screenshot-firefox; 25s local, disk-cache ... (3 actions, 2 running)
    836:  �[32m[2,560 / 2,699]�[0m 8 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox; 25s ... (3 actions, 1 running)
    837:  �[32m[2,560 / 2,699]�[0m 8 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:listener-firefox-bidi; 9s local, disk-cache ... (3 actions, 2 running)
    838:  �[32m[2,562 / 2,699]�[0m 9 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:manager-firefox-bidi; 9s ... (3 actions, 1 running)
    839:  �[32m[2,562 / 2,699]�[0m 9 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:manager-firefox-bidi; 20s ... (3 actions, 1 running)
    840:  �[32m[2,562 / 2,699]�[0m 9 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox; 41s local, disk-cache ... (3 actions, 2 running)
    841:  �[32m[2,564 / 2,699]�[0m 10 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox-bidi; 41s ... (3 actions, 1 running)
    842:  �[32m[2,564 / 2,699]�[0m 10 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:manager-firefox-bidi; 8s local, disk-cache ... (3 actions, 2 running)
    843:  �[32m[2,566 / 2,699]�[0m 11 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox; 9s ... (3 actions, 1 running)
    844:  �[32m[2,566 / 2,699]�[0m 11 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox-bidi; 8s local, disk-cache ... (3 actions, 2 running)
    845:  �[32m[2,568 / 2,699]�[0m 12 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-bidi; 9s ... (3 actions, 1 running)
    846:  �[32m[2,568 / 2,699]�[0m 12 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-bidi; 20s ... (3 actions, 1 running)
    847:  �[32m[2,568 / 2,699]�[0m 12 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox; 18s local, disk-cache ... (3 actions, 2 running)
    848:  �[32m[2,570 / 2,699]�[0m 13 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:shadow_root-firefox-bidi; 19s ... (3 actions, 1 running)
    849:  �[32m[2,570 / 2,699]�[0m 13 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox-bidi; 8s local, disk-cache ... (3 actions, 2 running)
    850:  �[32m[2,572 / 2,699]�[0m 14 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox-bidi; 9s ... (3 actions, 1 running)
    851:  �[32m[2,572 / 2,699]�[0m 14 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:shadow_root-firefox-bidi; 7s local, disk-cache ... (3 actions, 2 running)
    852:  �[32m[2,574 / 2,699]�[0m 15 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:navigation-firefox-bidi; 7s ... (3 actions, 1 running)
    853:  �[32m[2,574 / 2,699]�[0m 15 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:error-firefox-bidi; 8s local, disk-cache ... (3 actions, 2 running)
    854:  �[32m[2,576 / 2,699]�[0m 16 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:window-firefox; 8s ... (3 actions, 1 running)
    855:  �[32m[2,576 / 2,699]�[0m 16 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:navigation-firefox-bidi; 9s local, disk-cache ... (3 actions, 2 running)
    856:  �[32m[2,578 / 2,699]�[0m 17 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-firefox; 10s ... (3 actions, 1 running)
    857:  �[32m[2,578 / 2,699]�[0m 17 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-firefox; 22s ... (3 actions, 1 running)
    858:  �[32m[2,578 / 2,699]�[0m 17 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:window-firefox; 18s local, disk-cache ... (3 actions, 2 running)
    859:  �[32m[2,580 / 2,699]�[0m 18 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/remote:driver-firefox; 18s ... (3 actions, 1 running)
    860:  �[32m[2,580 / 2,699]�[0m 18 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/remote:driver-firefox; 29s ... (3 actions, 1 running)
    861:  �[32m[2,580 / 2,699]�[0m 18 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:select-firefox; 17s local, disk-cache ... (3 actions, 2 running)
    862:  �[32m[2,582 / 2,699]�[0m 19 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:virtual_authenticator-firefox-bidi; 18s ... (3 actions, 1 running)
    863:  �[32m[2,582 / 2,699]�[0m 19 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/remote:driver-firefox; 7s local, disk-cache ... (3 actions, 2 running)
    864:  �[32m[2,586 / 2,699]�[0m 20 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:fedcm-firefox; 8s ... (3 actions, 1 running)
    865:  �[32m[2,586 / 2,699]�[0m 20 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:virtual_authenticator-firefox-bidi; 7s local, disk-cache ... (3 actions, 2 running)
    866:  �[32m[2,588 / 2,699]�[0m 21 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox; 8s ... (3 actions, 1 running)
    867:  �[32m[2,588 / 2,699]�[0m 21 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox; 19s ... (3 actions, 1 running)
    868:  �[32m[2,588 / 2,699]�[0m 21 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox; 52s ... (3 actions, 1 running)
    869:  �[32m[2,588 / 2,699]�[0m 21 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:fedcm-firefox; 68s local, disk-cache ... (3 actions, 2 running)
    ...
    
    985:  �[32m[2,714 / 2,737]�[0m 55 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/remote:driver-firefox-bidi-remote; 14s ... (3 actions, 1 running)
    986:  �[32m[2,714 / 2,737]�[0m 55 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/remote:driver-firefox-bidi-remote; 25s ... (3 actions, 1 running)
    987:  �[32m[2,714 / 2,737]�[0m 55 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/remote:driver-firefox-remote; 44s local, disk-cache ... (3 actions, 2 running)
    988:  �[32m[2,715 / 2,737]�[0m 56 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:fedcm-firefox-remote; 44s ... (3 actions, 1 running)
    989:  �[32m[2,715 / 2,737]�[0m 56 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/remote:driver-firefox-bidi-remote; 11s local, disk-cache ... (3 actions, 2 running)
    990:  �[32m[2,716 / 2,737]�[0m 57 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/firefox:profile-firefox-bidi-remote; 12s ... (3 actions, 1 running)
    991:  �[32m[2,716 / 2,737]�[0m 57 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/firefox:profile-firefox-bidi-remote; 23s ... (3 actions, 1 running)
    992:  �[32m[2,716 / 2,737]�[0m 57 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/firefox:profile-firefox-bidi-remote; 56s ... (3 actions, 1 running)
    993:  �[32m[2,716 / 2,737]�[0m 57 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:fedcm-firefox-remote; 73s local, disk-cache ... (3 actions, 2 running)
    994:  �[32m[2,717 / 2,737]�[0m 58 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:shadow_root-firefox-bidi-remote; 73s ... (3 actions, 1 running)
    995:  �[32m[2,717 / 2,737]�[0m 58 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:profile-firefox-bidi-remote; 11s local, disk-cache ... (3 actions, 2 running)
    996:  �[32m[2,718 / 2,737]�[0m 59 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:navigation-firefox-remote; 12s ... (3 actions, 1 running)
    997:  �[32m[2,718 / 2,737]�[0m 59 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:shadow_root-firefox-bidi-remote; 11s local, disk-cache ... (3 actions, 2 running)
    998:  �[32m[2,719 / 2,737]�[0m 60 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox-remote; 12s ... (3 actions, 1 running)
    999:  �[32m[2,719 / 2,737]�[0m 60 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:navigation-firefox-remote; 12s local, disk-cache ... (3 actions, 2 running)
    1000:  �[32m[2,720 / 2,737]�[0m 61 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox-bidi-remote; 13s ... (3 actions, 1 running)
    1001:  �[32m[2,720 / 2,737]�[0m 61 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox-bidi-remote; 24s ... (3 actions, 1 running)
    1002:  �[32m[2,720 / 2,737]�[0m 61 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox-remote; 21s local, disk-cache ... (3 actions, 2 running)
    1003:  �[32m[2,721 / 2,737]�[0m 62 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:manager-firefox-remote; 21s ... (3 actions, 1 running)
    1004:  �[32m[2,721 / 2,737]�[0m 62 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:manager-firefox-remote; 33s ... (3 actions, 1 running)
    1005:  �[32m[2,722 / 2,737]�[0m 63 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox-remote; 13s ... (3 actions, 1 running)
    1006:  �[32m[2,722 / 2,737]�[0m 63 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox-remote; 14s ... (3 actions, 1 running)
    1007:  �[32m[2,722 / 2,737]�[0m 63 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox-remote; 25s ... (3 actions, 1 running)
    1008:  �[32m[2,722 / 2,737]�[0m 63 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-firefox-remote; 57s ... (3 actions, 1 running)
    1009:  �[32m[2,722 / 2,737]�[0m 63 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:manager-firefox-remote; 96s local, disk-cache ... (3 actions, 2 running)
    1010:  �[32m[2,723 / 2,737]�[0m 64 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-firefox-remote; 97s ... (3 actions, 1 running)
    1011:  �[32m[2,723 / 2,737]�[0m 64 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:error-firefox-remote; 11s local, disk-cache ... (3 actions, 2 running)
    1012:  �[32m[2,724 / 2,737]�[0m 65 / 94 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:select-firefox-bidi-remote; 12s ... (3 actions, 1 running)
    ...
    
    1050:  �[32m[2,738 / 2,739]�[0m 79 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox-bidi-remote; 1s local, disk-cache
    1051:  �[32m[2,738 / 2,739]�[0m 79 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox-bidi-remote; 18s local, disk-cache
    1052:  �[32m[2,739 / 2,740]�[0m 80 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:network-firefox-bidi; 1s local, disk-cache
    1053:  �[32m[2,739 / 2,740]�[0m 80 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:network-firefox-bidi; 164s local, disk-cache
    1054:  �[32m[2,740 / 2,741]�[0m 81 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:bidi-firefox-bidi-remote; 0s local, disk-cache
    1055:  �[32m[2,740 / 2,741]�[0m 81 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:bidi-firefox-bidi-remote; 110s local, disk-cache
    1056:  �[32m[2,741 / 2,742]�[0m 82 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote; 1s local, disk-cache
    1057:  �[32m[2,741 / 2,742]�[0m 82 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote; 444s local, disk-cache
    1058:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/network-firefox-bidi-remote/test_attempts/attempt_1.log)
    1059:  �[32m[2,741 / 2,742]�[0m 82 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote; 446s local, disk-cache
    1060:  �[32m[2,741 / 2,742]�[0m 82 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote; 799s local, disk-cache
    1061:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/network-firefox-bidi-remote/test_attempts/attempt_2.log)
    1062:  �[32m[2,741 / 2,742]�[0m 82 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote; 800s local, disk-cache
    1063:  �[32m[2,741 / 2,742]�[0m 82 / 94 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote; 1107s local, disk-cache
    1064:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/network-firefox-bidi-remote/test.log)
    1065:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote (Summary)
    1066:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/network-firefox-bidi-remote/test.log
    ...
    
    1075:  version: 138.0.1
    1076:  platform: macosx
    1077:  ci: github
    1078:  rbe: false
    1079:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1080:  Selenium::WebDriver::Network
    1081:  adds an auth handler
    1082:  adds an auth handler with a filter
    1083:  adds an auth handler with multiple filters
    1084:  adds an auth handler with a pattern type
    1085:  removes an auth handler
    1086:  clears all auth handlers
    1087:  continues without auth
    1088:  cancels auth
    1089:  adds a request handler
    1090:  adds a request handler with a filter (FAILED - 1)
    1091:  adds a request handler with multiple filters
    1092:  adds a request handler with a pattern type
    1093:  adds a request handler with attributes
    1094:  fails a request
    1095:  removes a request handler
    1096:  clears all request handlers
    1097:  adds a response handler
    1098:  adds a response handler with a filter (FAILED - 2)
    1099:  adds a response handler with multiple filters
    1100:  adds a response handler with a pattern type
    1101:  adds a response handler with attributes
    1102:  adds a response handler that provides a response (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"https://github.com/w3c/webdriver-bidi/issues/747"};)
    1103:  removes a response handler
    1104:  clears all response handlers
    1105:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1106:  1) Selenium::WebDriver::Network adds a response handler that provides a response
    1107:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"https://github.com/w3c/webdriver-bidi/issues/747"};
    1108:  Failure/Error: driver.navigate.to url_for('formPage.html')
    1109:  Selenium::WebDriver::Error::TimeoutError:
    1110:  timed out after 30 seconds
    1111:  # ./rb/lib/selenium/webdriver/common/wait.rb:73:in `until'
    1112:  # ./rb/lib/selenium/webdriver/common/websocket_connection.rb:75:in `send_cmd'
    1113:  # ./rb/lib/selenium/webdriver/bidi.rb:60:in `send_cmd'
    1114:  # ./rb/lib/selenium/webdriver/bidi/browsing_context.rb:49:in `navigate'
    1115:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:33:in `get'
    1116:  # ./rb/lib/selenium/webdriver/common/navigation.rb:32:in `to'
    1117:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:276:in `block (3 levels) in <module:WebDriver>'
    1118:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:179:in `create_driver!'
    1119:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1120:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1121:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1122:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:268:in `block (2 levels) in <module:WebDriver>'
    1123:  Failures:
    1124:  1) Selenium::WebDriver::Network adds a request handler with a filter
    1125:  Failure/Error:
    1126:  reset_driver!(web_socket_url: true) do |driver|
    1127:  network = described_class.new(driver)
    1128:  network.add_request_handler(url_for('formPage.html'), &:continue)
    1129:  driver.navigate.to url_for('formPage.html')
    1130:  expect(driver.current_url).to eq(url_for('formPage.html'))
    1131:  expect(network.callbacks.count).to be 1
    1132:  end
    1133:  Selenium::WebDriver::Error::InvalidSessionIdError:
    1134:  Tried to run command without establishing a connection
    1135:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1136:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    1137:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
    ...
    
    1139:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new'
    1140:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response'
    1141:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1142:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1143:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute'
    1144:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:212:in `quit'
    1145:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:49:in `quit'
    1146:  # ./rb/lib/selenium/webdriver/common/driver.rb:181:in `quit'
    1147:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:181:in `create_driver!'
    1148:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1149:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1150:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1151:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:115:in `block (2 levels) in <module:WebDriver>'
    1152:  # ------------------
    1153:  # --- Caused by: ---
    1154:  # Selenium::WebDriver::Error::WebDriverError:
    1155:  #   
    1156:  2) Selenium::WebDriver::Network adds a response handler with a filter
    1157:  Failure/Error:
    1158:  reset_driver!(web_socket_url: true) do |driver|
    1159:  network = described_class.new(driver)
    1160:  network.add_response_handler(url_for('formPage.html'), &:continue)
    1161:  driver.navigate.to url_for('formPage.html')
    1162:  expect(driver.find_element(name: 'login')).to be_displayed
    1163:  expect(network.callbacks.count).to be 1
    1164:  end
    1165:  Selenium::WebDriver::Error::InvalidSessionIdError:
    1166:  Tried to run command without establishing a connection
    1167:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1168:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    1169:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
    ...
    
    1171:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new'
    1172:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response'
    1173:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1174:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1175:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute'
    1176:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:212:in `quit'
    1177:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:49:in `quit'
    1178:  # ./rb/lib/selenium/webdriver/common/driver.rb:181:in `quit'
    1179:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:181:in `create_driver!'
    1180:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1181:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1182:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1183:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:210:in `block (2 levels) in <module:WebDriver>'
    1184:  # ------------------
    1185:  # --- Caused by: ---
    1186:  # Selenium::WebDriver::Error::WebDriverError:
    1187:  #   
    1188:  Finished in 7 minutes 22 seconds (files took 0.17052 seconds to load)
    1189:  24 examples, 2 failures, 1 pending
    1190:  Failed examples:
    1191:  rspec ./rb/spec/integration/selenium/webdriver/network_spec.rb:114 # Selenium::WebDriver::Network adds a request handler with a filter
    1192:  rspec ./rb/spec/integration/selenium/webdriver/network_spec.rb:209 # Selenium::WebDriver::Network adds a response handler with a filter
    1193:  ================================================================================
    1194:  ==================== Test output for //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote:
    1195:  2025-05-08 01:01:55 INFO Selenium Server Location: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/rb/spec/integration/selenium/webdriver/network-firefox-bidi-remote.sh.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
    1196:  Running Ruby specs:
    1197:  browser: firefox
    1198:  driver: remote
    1199:  version: 138.0.1
    1200:  platform: macosx
    1201:  ci: github
    1202:  rbe: false
    1203:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1204:  Selenium::WebDriver::Network
    1205:  adds an auth handler (FAILED - 1)
    1206:  adds an auth handler with a filter
    1207:  adds an auth handler with multiple filters
    1208:  adds an auth handler with a pattern type
    1209:  removes an auth handler (FAILED - 2)
    1210:  clears all auth handlers
    ...
    
    1217:  adds a request handler with attributes
    1218:  fails a request
    1219:  removes a request handler
    1220:  clears all request handlers
    1221:  adds a response handler
    1222:  adds a response handler with a filter
    1223:  adds a response handler with multiple filters
    1224:  adds a response handler with a pattern type
    1225:  adds a response handler with attributes
    1226:  adds a response handler that provides a response (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"https://github.com/w3c/webdriver-bidi/issues/747"};)
    1227:  removes a response handler
    1228:  clears all response handlers
    1229:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1230:  1) Selenium::WebDriver::Network adds a response handler that provides a response
    1231:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"https://github.com/w3c/webdriver-bidi/issues/747"};
    1232:  Failure/Error: driver.navigate.to url_for('formPage.html')
    1233:  Selenium::WebDriver::Error::TimeoutError:
    1234:  timed out after 30 seconds
    1235:  # ./rb/lib/selenium/webdriver/common/wait.rb:73:in `until'
    1236:  # ./rb/lib/selenium/webdriver/common/websocket_connection.rb:75:in `send_cmd'
    1237:  # ./rb/lib/selenium/webdriver/bidi.rb:60:in `send_cmd'
    1238:  # ./rb/lib/selenium/webdriver/bidi/browsing_context.rb:49:in `navigate'
    1239:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:33:in `get'
    1240:  # ./rb/lib/selenium/webdriver/common/navigation.rb:32:in `to'
    1241:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:276:in `block (3 levels) in <module:WebDriver>'
    1242:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:179:in `create_driver!'
    1243:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1244:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1245:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1246:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:268:in `block (2 levels) in <module:WebDriver>'
    1247:  Failures:
    1248:  1) Selenium::WebDriver::Network adds an auth handler
    1249:  Failure/Error:
    1250:  reset_driver!(web_socket_url: true) do |driver|
    1251:  network = described_class.new(driver)
    1252:  network.add_authentication_handler(username, password)
    1253:  driver.navigate.to url_for('basicAuth')
    1254:  expect(driver.find_element(tag_name: 'h1').text).to eq('authorized')
    1255:  expect(network.callbacks.count).to be 1
    1256:  end
    1257:  Selenium::WebDriver::Error::InvalidSessionIdError:
    1258:  Tried to run command without establishing a connection
    1259:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1260:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    1261:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
    ...
    
    1263:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new'
    1264:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response'
    1265:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1266:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1267:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute'
    1268:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:212:in `quit'
    1269:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:49:in `quit'
    1270:  # ./rb/lib/selenium/webdriver/common/driver.rb:181:in `quit'
    1271:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:181:in `create_driver!'
    1272:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1273:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1274:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1275:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:30:in `block (2 levels) in <module:WebDriver>'
    1276:  # ------------------
    1277:  # --- Caused by: ---
    1278:  # Selenium::WebDriver::Error::WebDriverError:
    1279:  #   
    1280:  2) Selenium::WebDriver::Network removes an auth handler
    1281:  Failure/Error:
    1282:  reset_driver!(web_socket_url: true) do |driver|
    1283:  network = described_class.new(driver)
    1284:  id = network.add_authentication_handler(username, password)
    1285:  network.remove_handler(id)
    1286:  expect(network.callbacks.count).to be 0
    1287:  end
    1288:  Selenium::WebDriver::Error::InvalidSessionIdError:
    1289:  Tried to run command without establishing a connection
    1290:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1291:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    1292:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
    ...
    
    1294:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new'
    1295:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response'
    1296:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1297:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1298:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute'
    1299:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:212:in `quit'
    1300:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:49:in `quit'
    1301:  # ./rb/lib/selenium/webdriver/common/driver.rb:181:in `quit'
    1302:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:181:in `create_driver!'
    1303:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1304:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1305:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1306:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:70:in `block (2 levels) in <module:WebDriver>'
    1307:  # ------------------
    1308:  # --- Caused by: ---
    1309:  # Selenium::WebDriver::Error::WebDriverError:
    1310:  #   
    1311:  Finished in 5 minutes 52 seconds (files took 0.21073 seconds to load)
    1312:  24 examples, 2 failures, 1 pending
    1313:  Failed examples:
    1314:  rspec ./rb/spec/integration/selenium/webdriver/network_spec.rb:29 # Selenium::WebDriver::Network adds an auth handler
    ...
    
    1317:  ==================== Test output for //rb/spec/integration/selenium/webdriver:network-firefox-bidi-remote:
    1318:  2025-05-08 01:07:49 INFO Selenium Server Location: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/rb/spec/integration/selenium/webdriver/network-firefox-bidi-remote.sh.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
    1319:  Running Ruby specs:
    1320:  browser: firefox
    1321:  driver: remote
    1322:  version: 138.0.1
    1323:  platform: macosx
    1324:  ci: github
    1325:  rbe: false
    1326:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1327:  Selenium::WebDriver::Network
    1328:  adds an auth handler
    1329:  adds an auth handler with a filter
    1330:  adds an auth handler with multiple filters
    1331:  adds an auth handler with a pattern type
    1332:  removes an auth handler (FAILED - 1)
    1333:  clears all auth handlers
    ...
    
    1340:  adds a request handler with attributes
    1341:  fails a request
    1342:  removes a request handler
    1343:  clears all request handlers
    1344:  adds a response handler
    1345:  adds a response handler with a filter
    1346:  adds a response handler with multiple filters
    1347:  adds a response handler with a pattern type
    1348:  adds a response handler with attributes
    1349:  adds a response handler that provides a response (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"https://github.com/w3c/webdriver-bidi/issues/747"};)
    1350:  removes a response handler
    1351:  clears all response handlers
    1352:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1353:  1) Selenium::WebDriver::Network adds a response handler that provides a response
    1354:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"https://github.com/w3c/webdriver-bidi/issues/747"};
    1355:  Failure/Error: driver.navigate.to url_for('formPage.html')
    1356:  Selenium::WebDriver::Error::TimeoutError:
    1357:  timed out after 30 seconds
    1358:  # ./rb/lib/selenium/webdriver/common/wait.rb:73:in `until'
    1359:  # ./rb/lib/selenium/webdriver/common/websocket_connection.rb:75:in `send_cmd'
    1360:  # ./rb/lib/selenium/webdriver/bidi.rb:60:in `send_cmd'
    1361:  # ./rb/lib/selenium/webdriver/bidi/browsing_context.rb:49:in `navigate'
    1362:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:33:in `get'
    1363:  # ./rb/lib/selenium/webdriver/common/navigation.rb:32:in `to'
    1364:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:276:in `block (3 levels) in <module:WebDriver>'
    1365:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:179:in `create_driver!'
    1366:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1367:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1368:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1369:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:268:in `block (2 levels) in <module:WebDriver>'
    1370:  Failures:
    1371:  1) Selenium::WebDriver::Network removes an auth handler
    1372:  Failure/Error:
    1373:  reset_driver!(web_socket_url: true) do |driver|
    1374:  network = described_class.new(driver)
    1375:  id = network.add_authentication_handler(username, password)
    1376:  network.remove_handler(id)
    1377:  expect(network.callbacks.count).to be 0
    1378:  end
    1379:  Selenium::WebDriver::Error::InvalidSessionIdError:
    1380:  Tried to run command without establishing a connection
    1381:  # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause'
    1382:  # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error'
    1383:  # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
    ...
    
    1385:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new'
    1386:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response'
    1387:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
    1388:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call'
    1389:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute'
    1390:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:212:in `quit'
    1391:  # ./rb/lib/selenium/webdriver/remote/bidi_bridge.rb:49:in `quit'
    1392:  # ./rb/lib/selenium/webdriver/common/driver.rb:181:in `quit'
    1393:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:181:in `create_driver!'
    1394:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance'
    1395:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:70:in `reset_driver!'
    1396:  # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:29:in `reset_driver!'
    1397:  # ./rb/spec/integration/selenium/webdriver/network_spec.rb:70:in `block (2 levels) in <module:WebDriver>'
    1398:  # ------------------
    1399:  # --- Caused by: ---
    1400:  # Selenium::WebDriver::Error::WebDriverError:
    1401:  #   
    1402:  Finished in 5 minutes 6 seconds (files took 0.20405 seconds to load)
    1403:  24 examples, 1 failure, 1 pending
    1404:  Failed examples:
    1405:  rspec ./rb/spec/integration/selenium/webdriver/network_spec.rb:69 # Selenium::WebDriver::Network removes an auth handler
    1406:  ================================================================================
    1407:  �[32m[2,742 / 2,743]�[0m 83 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox-remote; 1s local, disk-cache
    1408:  �[32m[2,742 / 2,743]�[0m 83 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox-remote; 78s local, disk-cache
    1409:  �[32m[2,743 / 2,744]�[0m 84 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:network-firefox-bidi-remote; 1s local, disk-cache
    1410:  �[32m[2,743 / 2,744]�[0m 84 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:network-firefox-bidi-remote; 144s local, disk-cache
    1411:  �[32m[2,744 / 2,745]�[0m 85 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:script-firefox-bidi; 1s local, disk-cache
    1412:  �[32m[2,744 / 2,745]�[0m 85 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:script-firefox-bidi; 48s local, disk-cache
    1413:  �[32m[2,745 / 2,746]�[0m 86 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox-bidi-remote; 1s local, disk-cache
    1414:  �[32m[2,745 / 2,746]�[0m 86 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox-bidi-remote; 9s local, disk-cache
    1415:  �[32m[2,746 / 2,747]�[0m 87 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi; 0s local, disk-cache
    1416:  �[32m[2,746 / 2,747]�[0m 87 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:network-firefox-bidi; 222s local, disk-cache
    1417:  �[32m[2,747 / 2,748]�[0m 88 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi; 1s local, disk-cache
    1418:  �[32m[2,747 / 2,748]�[0m 88 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi; 145s local, disk-cache
    1419:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi/test_attempts/attempt_1.log)
    1420:  �[32m[2,747 / 2,748]�[0m 88 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi; 147s local, disk-cache
    1421:  �[32m[2,747 / 2,748]�[0m 88 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi; 220s local, disk-cache
    1422:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi/test_attempts/attempt_2.log)
    1423:  �[32m[2,747 / 2,748]�[0m 88 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi; 222s local, disk-cache
    1424:  �[32m[2,747 / 2,748]�[0m 88 / 94 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi; 294s local, disk-cache
    1425:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi/test.log)
    1426:  ==================== Test output for //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi:
    1427:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi (Summary)
    1428:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi/test.log
    1429:  Running Ruby specs:
    1430:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi/test_attempts/attempt_1.log
    1431:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi/test_attempts/attempt_2.log
    1432:  browser: firefox
    1433:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi:
    1434:  driver: firefox
    1435:  version: 138.0.1
    1436:  platform: macosx
    1437:  ci: github
    1438:  rbe: false
    1439:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1440:  Selenium::WebDriver::BiDi::BrowsingContext
    1441:  closes a window
    1442:  sets the viewport (FAILED - 1)
    1443:  accepts users prompts without text
    1444:  accepts users prompts with text
    1445:  rejects users prompts
    1446:  activates a browser context
    1447:  #create
    1448:  without arguments
    1449:  accepts a tab type
    1450:  accepts a window type
    1451:  errors on unknown type (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};)
    1452:  accepts a reference context
    1453:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1454:  1) Selenium::WebDriver::BiDi::BrowsingContext#create errors on unknown type
    1455:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};
    1456:  Got 1 failure:
    1457:  1.1) Failure/Error:
    1458:  expect {
    1459:  described_class.new(bridge).create(type: :unknown)
    1460:  }.to raise_error(Error::WebDriverError, msg)
    1461:  expected Selenium::WebDriver::Error::WebDriverError with message matching /invalid argument: Invalid enum value. Expected 'tab' | 'window', received 'unknown'/, got #<Selenium::WebDriver::Error::WebDriverError: invalid argument: Expected "type" to be one of tab,wind...nsport.sys.mjs:127:18
    1462:  handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
    1463:  > with backtrace:
    1464:  # ./rb/lib/selenium/webdriver/bidi.rb:61:in `send_cmd'
    1465:  # ./rb/lib/selenium/webdriver/bidi/browsing_context.rb:94:in `create'
    1466:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:53:in `block (4 levels) in <class:BiDi>'
    1467:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1468:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1469:  Failures:
    1470:  1) Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1471:  Failure/Error: expect(driver.execute_script('return window.devicePixelRatio')).to eq(2.0)
    1472:  expected: 2.0
    1473:  got: 1
    1474:  (compared using ==)
    1475:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:81:in `block (2 levels) in <class:BiDi>'
    1476:  Finished in 2 minutes 25.3 seconds (files took 0.14514 seconds to load)
    1477:  11 examples, 1 failure, 1 pending
    1478:  Failed examples:
    1479:  rspec ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:77 # Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1480:  ================================================================================
    1481:  ==================== Test output for //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi:
    1482:  Running Ruby specs:
    1483:  browser: firefox
    1484:  driver: firefox
    1485:  version: 138.0.1
    1486:  platform: macosx
    1487:  ci: github
    1488:  rbe: false
    1489:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1490:  Selenium::WebDriver::BiDi::BrowsingContext
    1491:  closes a window
    1492:  sets the viewport (FAILED - 1)
    1493:  accepts users prompts without text
    1494:  accepts users prompts with text
    1495:  rejects users prompts
    1496:  activates a browser context
    1497:  #create
    1498:  without arguments
    1499:  accepts a tab type
    1500:  accepts a window type
    1501:  errors on unknown type (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};)
    1502:  accepts a reference context
    1503:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1504:  1) Selenium::WebDriver::BiDi::BrowsingContext#create errors on unknown type
    1505:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};
    1506:  Got 1 failure:
    1507:  1.1) Failure/Error:
    1508:  expect {
    1509:  described_class.new(bridge).create(type: :unknown)
    1510:  }.to raise_error(Error::WebDriverError, msg)
    1511:  expected Selenium::WebDriver::Error::WebDriverError with message matching /invalid argument: Invalid enum value. Expected 'tab' | 'window', received 'unknown'/, got #<Selenium::WebDriver::Error::WebDriverError: invalid argument: Expected "type" to be one of tab,wind...nsport.sys.mjs:127:18
    1512:  handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
    1513:  > with backtrace:
    1514:  # ./rb/lib/selenium/webdriver/bidi.rb:61:in `send_cmd'
    1515:  # ./rb/lib/selenium/webdriver/bidi/browsing_context.rb:94:in `create'
    1516:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:53:in `block (4 levels) in <class:BiDi>'
    1517:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1518:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1519:  Failures:
    1520:  1) Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1521:  Failure/Error: expect(driver.execute_script('return window.devicePixelRatio')).to eq(2.0)
    1522:  expected: 2.0
    1523:  got: 1
    1524:  (compared using ==)
    1525:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:81:in `block (2 levels) in <class:BiDi>'
    1526:  Finished in 1 minute 13.88 seconds (files took 0.15233 seconds to load)
    1527:  11 examples, 1 failure, 1 pending
    1528:  Failed examples:
    1529:  rspec ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:77 # Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1530:  ================================================================================
    1531:  ==================== Test output for //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi:
    1532:  Running Ruby specs:
    1533:  browser: firefox
    1534:  driver: firefox
    1535:  version: 138.0.1
    1536:  platform: macosx
    1537:  ci: github
    1538:  rbe: false
    1539:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1540:  Selenium::WebDriver::BiDi::BrowsingContext
    1541:  closes a window
    1542:  sets the viewport (FAILED - 1)
    1543:  accepts users prompts without text
    1544:  accepts users prompts with text
    1545:  rejects users prompts
    1546:  activates a browser context
    1547:  #create
    1548:  without arguments
    1549:  accepts a tab type
    1550:  accepts a window type
    1551:  errors on unknown type (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};)
    1552:  accepts a reference context
    1553:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1554:  1) Selenium::WebDriver::BiDi::BrowsingContext#create errors on unknown type
    1555:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};
    1556:  Got 1 failure:
    1557:  1.1) Failure/Error:
    1558:  expect {
    1559:  described_class.new(bridge).create(type: :unknown)
    1560:  }.to raise_error(Error::WebDriverError, msg)
    1561:  expected Selenium::WebDriver::Error::WebDriverError with message matching /invalid argument: Invalid enum value. Expected 'tab' | 'window', received 'unknown'/, got #<Selenium::WebDriver::Error::WebDriverError: invalid argument: Expected "type" to be one of tab,wind...nsport.sys.mjs:127:18
    1562:  handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
    1563:  > with backtrace:
    1564:  # ./rb/lib/selenium/webdriver/bidi.rb:61:in `send_cmd'
    1565:  # ./rb/lib/selenium/webdriver/bidi/browsing_context.rb:94:in `create'
    1566:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:53:in `block (4 levels) in <class:BiDi>'
    1567:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1568:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1569:  Failures:
    1570:  1) Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1571:  Failure/Error: expect(driver.execute_script('return window.devicePixelRatio')).to eq(2.0)
    1572:  expected: 2.0
    1573:  got: 1
    1574:  (compared using ==)
    1575:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:81:in `block (2 levels) in <class:BiDi>'
    1576:  Finished in 1 minute 13.61 seconds (files took 0.15937 seconds to load)
    1577:  11 examples, 1 failure, 1 pending
    1578:  Failed examples:
    1579:  rspec ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:77 # Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1580:  ================================================================================
    1581:  �[32m[2,748 / 2,749]�[0m 89 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:script-firefox-bidi-remote; 0s local, disk-cache
    1582:  �[32m[2,748 / 2,749]�[0m 89 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:script-firefox-bidi-remote; 118s local, disk-cache
    1583:  �[32m[2,749 / 2,750]�[0m 90 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox-bidi; 1s local, disk-cache
    1584:  �[32m[2,749 / 2,750]�[0m 90 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox-bidi; 12s local, disk-cache
    1585:  �[32m[2,750 / 2,751]�[0m 91 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox-bidi; 0s local, disk-cache
    1586:  �[32m[2,750 / 2,751]�[0m 91 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-firefox-bidi; 5s local, disk-cache
    1587:  �[32m[2,751 / 2,752]�[0m 92 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote; 1s local, disk-cache
    1588:  �[32m[2,751 / 2,752]�[0m 92 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote; 73s local, disk-cache
    1589:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote/test_attempts/attempt_1.log)
    1590:  �[32m[2,751 / 2,752]�[0m 92 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote; 75s local, disk-cache
    1591:  �[32m[2,751 / 2,752]�[0m 92 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote; 220s local, disk-cache
    1592:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote/test_attempts/attempt_2.log)
    1593:  �[32m[2,751 / 2,752]�[0m 92 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote; 221s local, disk-cache
    1594:  �[32m[2,751 / 2,752]�[0m 92 / 94 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote; 364s local, disk-cache
    1595:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote/test.log)
    1596:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote (Summary)
    1597:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote/test.log
    1598:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote/test_attempts/attempt_1.log
    1599:  /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote/test_attempts/attempt_2.log
    1600:  �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote:
    1601:  ==================== Test output for //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote:
    1602:  2025-05-08 01:28:36 INFO Selenium Server Location: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote.sh.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
    1603:  Running Ruby specs:
    1604:  browser: firefox
    1605:  driver: remote
    1606:  version: 138.0.1
    1607:  platform: macosx
    1608:  ci: github
    1609:  rbe: false
    1610:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1611:  Selenium::WebDriver::BiDi::BrowsingContext
    1612:  closes a window
    1613:  sets the viewport (FAILED - 1)
    1614:  accepts users prompts without text
    1615:  accepts users prompts with text
    1616:  rejects users prompts
    1617:  activates a browser context
    1618:  #create
    1619:  without arguments
    1620:  accepts a tab type
    1621:  accepts a window type
    1622:  errors on unknown type (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};)
    1623:  accepts a reference context
    1624:  Pending: (Failures listed here are expected and do not affect your suite's status)
    1625:  1) Selenium::WebDriver::BiDi::BrowsingContext#create errors on unknown type
    1626:  # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Doesn't return the expected error"};
    1627:  Got 1 failure:
    1628:  1.1) Failure/Error:
    1629:  expect {
    1630:  described_class.new(bridge).create(type: :unknown)
    1631:  }.to raise_error(Error::WebDriverError, msg)
    1632:  expected Selenium::WebDriver::Error::WebDriverError with message matching /invalid argument: Invalid enum value. Expected 'tab' | 'window', received 'unknown'/, got #<Selenium::WebDriver::Error::WebDriverError: invalid argument: Expected "type" to be one of tab,wind...nsport.sys.mjs:127:18
    1633:  handleEvent@chrome://remote/content/server/WebSocketTransport.sys.mjs:109:14
    1634:  > with backtrace:
    1635:  # ./rb/lib/selenium/webdriver/bidi.rb:61:in `send_cmd'
    1636:  # ./rb/lib/selenium/webdriver/bidi/browsing_context.rb:94:in `create'
    1637:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:53:in `block (4 levels) in <class:BiDi>'
    1638:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1639:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:52:in `block (3 levels) in <class:BiDi>'
    1640:  Failures:
    1641:  1) Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1642:  Failure/Error: expect(driver.execute_script('return window.devicePixelRatio')).to eq(2.0)
    1643:  expected: 2.0
    1644:  got: 1
    1645:  (compared using ==)
    1646:  # ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:81:in `block (2 levels) in <class:BiDi>'
    1647:  Finished in 1 minute 11.17 seconds (files took 0.1403 seconds to load)
    1648:  11 examples, 1 failure, 1 pending
    1649:  Failed examples:
    1650:  rspec ./rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb:77 # Selenium::WebDriver::BiDi::BrowsingContext sets the viewport
    1651:  ================================================================================
    1652:  ==================== Test output for //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox-bidi-remote:
    1653:  2025-05-08 01:29:50 INFO Selenium Server Location: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/rb/spec/integration/selenium/webdriver/bidi/browsing_context-firefox-bidi-remote.sh.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar
    1654:  Running Ruby specs:
    1655:  browser: firefox
    1656:  driver: remote
    1657:  version: 138.0.1
    1658:  platform: macosx
    1659:  ci: github
    1660:  rbe: false
    1661:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [arm64-darwin23]
    1662:  Selenium::WebDriver::BiDi::BrowsingContext
    1663:  closes a window
    1664:  sets the viewport (FAILED - 1)
    1665:  accepts users prompts without text
    1666:  accepts users prompts with text
    1667:  rejects users prompts
    1668:  activates a browser context
    1669:  #create
    1670:  without arguments
    1671:  accepts a tab type
    1672:  accept...

    .bazelrc.remote Outdated
    @@ -11,7 +11,7 @@ build:rbe --define=EXECUTOR=remote
    build:rbe --experimental_inmemory_dotd_files
    build:rbe --experimental_inmemory_jdeps_files
    build:rbe --remote_timeout=3600
    build:rbe --spawn_strategy=remote,local
    build:rbe --spawn_strategy=remote
    Copy link
    Member Author

    Choose a reason for hiding this comment

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

    turns out this doesn't fix the problem I thought it would, so I'll revert it.

    For some reason, when I'm running --config=rbe anything with tag exclusive-with-local still runs in series instead of parallel. I'm not sure why. @shs96c do you know why this may be?

    Copy link
    Member Author

    Choose a reason for hiding this comment

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

    (it makes a huge difference time-wise when I remove the exclusive-with-local tags and running on rbe.

    Copy link
    Member

    Choose a reason for hiding this comment

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

    well known issue bazelbuild/bazel#17834

    Copy link
    Member Author

    Choose a reason for hiding this comment

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

    Ah, so this is probably why we were previously skipping them on rbe to avoid the performance hit

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    B-build Includes scripting, bazel and CI integrations B-devtools Includes everything BiDi or Chrome DevTools related C-rb Ruby Bindings Review effort 3/5
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    3 participants