Skip to content

Conversation

@joerg1985
Copy link
Member

@joerg1985 joerg1985 commented Aug 16, 2025

User description

🔗 Related Issues

💥 What does this PR do?

Update to netty 4.2.4, add the dependencies needed for redis tests to pass with the new netty version.

🔧 Implementation Notes

I did follow most of the migration guide at https://netty.io/wiki/netty-4.2-migration-guide.html, but:

  • switchted not to the old memory allocator for testing, as we should have not a high throughput
  • stick to the SelfSignedCertificate for now, as it is unclear how to use the new CertificateBuilder correct

💡 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

  • Update Netty from 4.1.121.Final to 4.2.4.Final

  • Migrate to new MultiThreadIoEventLoopGroup API

  • Add required dependencies for Redis tests compatibility

  • Update Maven dependencies and build configurations


Diagram Walkthrough

flowchart LR A["Netty 4.1.121"] --> B["Netty 4.2.4"] B --> C["New Event Loop API"] B --> D["Additional Dependencies"] C --> E["MultiThreadIoEventLoopGroup"] D --> F["Protobuf & Marshalling"] 
Loading

File Walkthrough

Relevant files
Enhancement
NettyServer.java
Migrate to Netty 4.2 event loop API                                           

java/src/org/openqa/selenium/netty/server/NettyServer.java

  • Replace NioEventLoopGroup with MultiThreadIoEventLoopGroup
  • Add NioIoHandler.newFactory() for event loop initialization
  • Update imports for new Netty 4.2 API
+4/-3     
Dependencies
MODULE.bazel
Update Netty BOM and add dependencies                                       

MODULE.bazel

  • Update netty-bom from 4.1.121.Final to 4.2.4.Final
  • Add protobuf-java and protobuf-javanano dependencies
  • Add jboss-marshalling dependency for Redis tests
+4/-1     
maven_install.json
Maven dependency resolution updates                                           

java/maven_install.json

  • Update artifact hashes for new Netty 4.2.4 versions
  • Add new Netty codec modules (base, compression, marshalling, protobuf)
  • Update dependency tree with new module structure
  • Add protobuf and marshalling library entries
+167/-56
BUILD.bazel
Add Redis module dependencies                                                       

java/src/org/openqa/selenium/redis/BUILD.bazel

  • Add protobuf-java and protobuf-javanano artifacts
  • Add jboss-marshalling artifact dependency
  • Update build dependencies for Redis module
+3/-0     

@selenium-ci selenium-ci added C-java Java Bindings B-build Includes scripting, bazel and CI integrations C-rust Rust code is mostly Selenium Manager B-manager Selenium Manager labels Aug 16, 2025
@qodo-merge-pro
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

1234 - Partially compliant

Compliant requirements:

Non-compliant requirements:

  • Investigate and address regression for click() JS href not triggering in 2.48.x
  • Provide a fix or workaround restoring JS execution on click
  • Validate behavior on Firefox 42

Requires further human verification:

5678 - Partially compliant

Compliant requirements:

Non-compliant requirements:

  • Diagnose and resolve ConnectFailure for multiple ChromeDriver instances
  • Ensure stable multiple session creation without errors
  • Provide guidance or code/config changes

Requires further human verification:

⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 Security concerns

Dependency changes:
Adding netty-pkitesting and updating Netty introduce transitive crypto (BouncyCastle) changes. Ensure versions are pinned (conflict resolution shows bcprov-jdk18on to 1.81) and that pkitesting is not exposing test certificates or insecure defaults in production builds. No direct injection/XSS/secret exposure evident.

⚡ Recommended focus areas for review

Possible Issue

Switching to CertificateBuilder.buildSelfSigned() and using X509Bundle.toKeyManagerFactory() changes certificate/key material loading semantics. Ensure compatibility with the existing ServerOptions (e.g., cipher suites, protocols) and that client connections still succeed across JDKs and OSes.

try { X509Bundle cert = new CertificateBuilder().buildSelfSigned(); sslCtx = SslContextBuilder.forServer(cert.toKeyManagerFactory()).build(); } catch (Exception e) { throw new UncheckedIOException(new IOException("Self-signed certificate problem.", e)); }
Behavior Change

Replacing NioEventLoopGroup with MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()) may alter threading and performance characteristics. Validate shutdown hooks, thread naming, and compatibility with NioServerSocketChannel.

bossGroup = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory()); workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory());
Dependency Risk

Adding io.netty:netty-pkitesting introduces a test/PKI helper at runtime scope. Confirm it is intended for production artifact and does not bloat runtime or pull unnecessary BouncyCastle versions.

"io.grpc:grpc-context:1.74.0", "io.lettuce:lettuce-core:6.8.0.RELEASE", "io.netty:netty-buffer", "io.netty:netty-codec-http", "io.netty:netty-codec-http2", "io.netty:netty-common", "io.netty:netty-handler", "io.netty:netty-handler-proxy", "io.netty:netty-pkitesting", "io.netty:netty-transport", "io.opentelemetry:opentelemetry-api",
@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Aug 16, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Include hostname in self-signed cert

Preserve hostname information in the self-signed certificate to avoid TLS
validation issues for clients that perform hostname verification. Pass the
configured hostname (or fallback) as a subject alternative name when building
the certificate.

java/src/org/openqa/selenium/netty/server/NettyServer.java [90-99]

 } else if (options.isSelfSigned()) { try { - X509Bundle cert = new CertificateBuilder().buildSelfSigned(); + String commonName = options.getHostname().orElse("localhost"); + X509Bundle cert = new CertificateBuilder() + .addSubjectAlternativeName(commonName) + .buildSelfSigned(); sslCtx = SslContextBuilder.forServer(cert.toKeyManagerFactory()).build(); } catch (Exception e) { throw new UncheckedIOException(new IOException("Self-signed certificate problem.", e)); } } else { sslCtx = null; }
  • Apply / Chat
Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies that not including the hostname in the self-signed certificate can lead to TLS validation failures, and proposes a valid fix using the available options object.

Medium
  • Update
@joerg1985 joerg1985 force-pushed the netty-4.2 branch 2 times, most recently from 4e54a5c to ed9cd12 Compare August 16, 2025 20:39
@joerg1985 joerg1985 added B-grid Everything grid and server related and removed C-rust Rust code is mostly Selenium Manager B-manager Selenium Manager Possible security concern C-java Java Bindings B-build Includes scripting, bazel and CI integrations labels Aug 16, 2025
@joerg1985 joerg1985 marked this pull request as draft August 16, 2025 21:33
@diemol diemol requested a review from shs96c August 17, 2025 09:31
@joerg1985 joerg1985 marked this pull request as ready for review August 17, 2025 12:07
@qodo-merge-pro
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

5678 - Partially compliant

Compliant requirements:

  • None

Non-compliant requirements:

  • Diagnose and resolve ConnectFailure during multiple ChromeDriver instantiations
  • Ensure subsequent instantiations do not produce errors

Requires further human verification:

  • Verify at runtime that the Netty upgrade and event loop changes do not introduce regressions in Grid/Redis components under multi-session load.

1234 - Partially compliant

Compliant requirements:

  • None

Non-compliant requirements:

  • Trigger JS in href on click in Firefox

Requires further human verification:

  • Browser behavior validation in Firefox—unrelated to this Netty/Grid upgrade PR.
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

API Migration Risk

Switching to MultiThreadIoEventLoopGroup with NioIoHandler.newFactory() may change threading and channel behavior; validate server bootstrap compatibility and graceful shutdown, and ensure no resource leaks.

bossGroup = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory()); workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory());
Dependency Surface Growth

Added protobuf and marshalling artifacts; confirm they are strictly required and do not inflate runtime classpath for modules that don't need them.

 "com.google.protobuf:protobuf-java:3.25.5", "com.google.protobuf.nano:protobuf-javanano:3.1.0", "com.graphql-java:graphql-java:24.1", "dev.failsafe:failsafe:3.3.2", "io.grpc:grpc-context:1.74.0", "io.lettuce:lettuce-core:6.8.0.RELEASE", "io.netty:netty-buffer", "io.netty:netty-codec-http", "io.netty:netty-codec-http2", "io.netty:netty-common", "io.netty:netty-handler", "io.netty:netty-handler-proxy", "io.netty:netty-transport", "io.opentelemetry:opentelemetry-api", "io.opentelemetry:opentelemetry-context", "io.opentelemetry:opentelemetry-exporter-logging", "io.opentelemetry:opentelemetry-sdk", "io.opentelemetry:opentelemetry-sdk-common", "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure", "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi", "io.opentelemetry:opentelemetry-sdk-testing", "io.opentelemetry:opentelemetry-sdk-trace", "it.ozimov:embedded-redis:0.7.3", "net.bytebuddy:byte-buddy:1.17.6", "org.htmlunit:htmlunit-core-js:4.14.0", "org.apache.commons:commons-exec:1.5.0", "org.apache.logging.log4j:log4j-core:2.25.1", "org.assertj:assertj-core:3.27.4", "org.bouncycastle:bcpkix-jdk18on:1.81", "org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5", "org.hsqldb:hsqldb:2.7.4", "org.jboss.marshalling:jboss-marshalling:2.2.3.Final", "org.jspecify:jspecify:1.0.0", "org.junit.jupiter:junit-jupiter-api", "org.junit.jupiter:junit-jupiter-engine", "org.junit.jupiter:junit-jupiter-params", "org.junit.platform:junit-platform-launcher", "org.junit.platform:junit-platform-reporting", "org.junit.platform:junit-platform-commons", "org.junit.platform:junit-platform-engine", "org.mockito:mockito-core:5.18.0", "org.redisson:redisson:3.50.0", "org.slf4j:slf4j-api:2.0.17", "org.slf4j:slf4j-jdk14:2.0.17", "org.tomlj:tomlj:1.1.1", "org.zeromq:jeromq:0.6.0", "uk.org.webcompere:system-stubs-jupiter:2.1.8", "uk.org.webcompere:system-stubs-core:2.1.8", ], boms = [ "io.opentelemetry:opentelemetry-bom:1.53.0", "io.netty:netty-bom:4.2.4.Final", "org.junit:junit-bom:5.13.4",
Generated Lockfile Consistency

New Netty modules and hashes were added; ensure all referenced modules exist in repositories and align with the selected netty-bom to avoid resolution conflicts.

"io.lettuce:lettuce-core": { "shasums": { "jar": "165134b6ce55caa822440fb23e7dc910a13fedada6ea1f4587145fe0c7f0a657", "sources": "1540cc4fd90f10d2221ff0f42bf01f08dcc0967742a1d62744a719e79e6a0984" }, "version": "6.8.0.RELEASE" }, "io.netty:netty-buffer": { "shasums": { "jar": "9e0dd42f1eabc58433962efa329acd372df305c30a6a58cd17feb1cd32f9e289", "sources": "46ccc0b286ac575b42ebfc6ccc58c02888996cfb090049484a78bd96375b0ea5" }, "version": "4.2.4.Final" }, "io.netty:netty-codec": { "shasums": { "jar": "86da6271c6d2ef06cf5e42a03bbc67a5f074f9778464f512f1c84c33fbfc89a9", "sources": "56f1adb200d60a4ee01785f00e271c37766d1c955536f54fa08ea475424d948e" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-base": { "shasums": { "jar": "0af2c137a8a3b264baf15887470d856a89bf712025a08652c3038bfffbfe6634", "sources": "01a4cfd4793e50153cc4826458120590f6f7321d72b6fe2231eb894140e2422d" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-compression": { "shasums": { "jar": "63971c806632b08389c6d0b3c9d853dfef047618cd4cf555f23a992e155ce09c", "sources": "adba308c520c2b7c76b84d551add8b606355ac051ba4f2c631b2c5f07d917100" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-dns": { "shasums": { "jar": "d5af43be74356efe87520478e6ab55132c9c023e96c99e1a438f3e5860cd5c9e", "sources": "0ac96df3a2d79b619e862e26525491b9364c201bbce9d82a82da1569fd63d69f" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-http": { "shasums": { "jar": "bde689ddf294f70f105d0955cfc6d784d1e5ee4ea7730a733b1fc4728456d950", "sources": "bbba2b1424ab83003c0252bd3433d514d93a709390873e140f0fdb41f9cf1bda" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-http2": { "shasums": { "jar": "89dc4fedb5c466d7ccdcc1193e4bb247a69b09042e7e4df994f3c4350d3102ee", "sources": "05db5f67340ece2fe86cffba2bd6555e212acc5e0572853b83dd95bff69587f8" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-marshalling": { "shasums": { "jar": "2a3a8b1e631284fd2b538c11c9bd346c93ff16dc1c70bbab558dc8f24f1a4044", "sources": "ee6fec7b009c0fccdeacc33febe45973e9ccfa1ec342369c2f01bbfcb994ec5c" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-protobuf": { "shasums": { "jar": "2318f521017dee8e0e4e50fd8d5e8a1b1d4762dcb69ea9aa52a7b79ff8c760bf", "sources": "61b817cbbf3dca1287fcc8b7525521561fefcdc94fa407f46b4ed4efcb9f9e98" }, "version": "4.2.4.Final" }, "io.netty:netty-codec-socks": { "shasums": { "jar": "d878e818f39b0d40bbfa942c7aaecea8cd62f14d3474e7b1e69a86dbea9d13cd", "sources": "1c2ff437576f46a6d6f14c2f066518994be2bcd8fe3295828cf06c4467f1eb0e" }, "version": "4.2.4.Final" }, "io.netty:netty-common": { "shasums": { "jar": "dd57448463662154c32e0cfa099960a16eda5f0896050e44195b0fc29863837f", "sources": "179d3073b473a446089083e5455904719f4ee145921c69023a883498b9d010bd" }, "version": "4.2.4.Final" }, "io.netty:netty-handler": { "shasums": { "jar": "5280b7ec84d494051ba99639c86793b04d924ea7ebdadac1528e66f4fe8392c8", "sources": "7ba3d1009cbf9aab7af8d773c1805d14d19b70cabebcae204aad2e44126813b3" }, "version": "4.2.4.Final" }, "io.netty:netty-handler-proxy": { "shasums": { "jar": "14643a410912aae6314df96f80528ce4f89dfda1d2c7538bb3ee3f88de55a24f", "sources": "f5531ddfaddfa86271e938565a5508dd493e00bede7da1ab38c748d030a0aa30" }, "version": "4.2.4.Final" }, "io.netty:netty-resolver": { "shasums": { "jar": "152b6531c0f9092b6a5c40c9ab709cfac275e433b4c080501740790d39863a0c", "sources": "b9bda1f6739d96e856cfde6725824d9ac185c586d713dcf0fbf0c78e1fbce6cb" }, "version": "4.2.4.Final" }, "io.netty:netty-resolver-dns": { "shasums": { "jar": "234325c9efa5f2583fc291d47d12168222abf9cadae7b54a560583ac3db08be1", "sources": "12b16163864ae8f55cac110a48faf94bdb81fa9a0cc6df26752815651e828a47" }, "version": "4.2.4.Final" }, "io.netty:netty-transport": { "shasums": { "jar": "c7873858bcf25d59211f99d3dd35a52d644efc5116cd0a00cd4402b3d23c6372", "sources": "01ccb80cb2c357aa6ee707074a7a1b75658cfe4fb5a6836587e3e1b6a1b3099d" }, "version": "4.2.4.Final" }, "io.netty:netty-transport-native-unix-common": { "shasums": { "jar": "d2e4f5a147af8546f5250f1fa7d1bc08b0f28e15f0f3195c7f24ebb1862a43c1", "sources": "fb93ce5111649f8c9fded892448bb20f977f841fc10c52ad70a2fa1b09586f2e" }, "version": "4.2.4.Final" },
@qodo-merge-pro
Copy link
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Validate Netty 4.2 API usage

Migrating to MultiThreadIoEventLoopGroup with NioIoHandler.newFactory() changes
threading and transport semantics; ensure all channel classes (e.g.,
NioServerSocketChannel) and pipeline handlers are compatible and that native
transports or alternatives are not required in some environments. Also, adding
protobuf/marshalling dependencies broadens the attack surface; confirm they are
strictly scoped to tests or Redis modules and that shading or version alignment
avoids conflicts with existing protobuf users in the repo.

Examples:

java/src/org/openqa/selenium/netty/server/NettyServer.java [103-104]
bossGroup = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory()); workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory());
java/src/org/openqa/selenium/redis/BUILD.bazel [11-18]
deps = [ "//java/src/org/openqa/selenium/grid/data", artifact("com.google.protobuf:protobuf-java"), artifact("com.google.protobuf.nano:protobuf-javanano"), artifact("io.lettuce:lettuce-core"), artifact("org.jboss.marshalling:jboss-marshalling"), artifact("org.redisson:redisson"), ],

Solution Walkthrough:

Before:

// In NettyServer.java // Using old Netty 4.1 API bossGroup = new NioEventLoopGroup(1); workerGroup = new NioEventLoopGroup(); // In build files // Dependencies are managed for Netty 4.1

After:

// In NettyServer.java // Using new Netty 4.2 API bossGroup = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory()); workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); // Consider if native transports (e.g., Epoll) are needed for some environments // bossGroup = new MultiThreadIoEventLoopGroup(1, EpollIoHandler.newFactory()); // In build files // Dependencies for Redis module are explicitly scoped // and checked for version conflicts.
Suggestion importance[1-10]: 8

__

Why: The suggestion correctly identifies major changes in the PR, raising valid concerns about the Netty API migration in NettyServer.java and the scope and security implications of new dependencies in build files.

Medium
General
Verify BOM-module alignment

Netty 4.2 splits codec modules; ensure transitive alignment by importing the
matching BOM only if all new modules are resolvable. Verify that any modules
removed from 4.1 (e.g., consolidated codecs) are not pinned elsewhere to prevent
dependency resolution errors.

MODULE.bazel [240]

+"io.netty:netty-bom:4.2.4.Final", -
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: This is a good, high-level verification check for a dependency version upgrade, ensuring that the new BOM aligns with all module changes, which is a valid concern in this PR.

Medium
  • More
@VietND96
Copy link
Member

This would be great, since I also just saw the CVE notice for version < 4.1.123.Final and want to do the upgrade. However, you already did it.

@VietND96 VietND96 added this to the Selenium 4.36 milestone Aug 18, 2025
@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Sep 5, 2025

CI Feedback 🧐

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: Selenium::WebDriver::ActionBuilder#send_keys sends keys to element; Selenium::WebDriver::Window can maximize the current window

Failure summary:

The action failed because two Ruby integration test targets for Firefox consistently failed:
-
//rb/spec/integration/selenium/webdriver:action_builder-firefox failed due to
MoveTargetOutOfBoundsError during ActionBuilder#send_keys:
• Failing example: rspec
./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:41 (“sends keys to element”)

Error details: move target coordinates slightly outside the viewport, e.g., Move target (102, 600)
is out of bounds of viewport dimensions (1024, 599) (also seen with heights 596–599)
• Stack
(example): ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in 'perform' -> remote bridge
send_actions -> Marionette assertTargetInViewPort
• Another example intermittently failed or timed
out: rspec ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:28 (“sends keys to the
active element”) with Net::ReadTimeout when navigating to bodyTypingTest.html in attempt_1.
-
//rb/spec/integration/selenium/webdriver:window-firefox failed the “maximize window” assertion:

Failing example: rspec ./rb/spec/integration/selenium/webdriver/window_spec.rb:105
• Assertion at
window_spec.rb:113: expected new window height to increase above 700 after maximize, but it remained
684 (>700 expectation not met) across all three attempts.
As a result, Bazel reported “2 tests
FAILED” and the process exited with code 3.

Relevant error logs:
1: ##[group]Runner Image Provisioner 2: Hosted Compute Agent ... 696: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 182s local, disk-cache ... (2 actions running) 697: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 210s local, disk-cache ... (2 actions running) 698: �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:window-firefox (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-firefox/test_attempts/attempt_1.log) 699: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 211s local, disk-cache ... (2 actions running) 700: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 240s local, disk-cache ... (2 actions running) 701: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 298s local, disk-cache ... (2 actions running) 702: �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:action_builder-firefox (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test_attempts/attempt_2.log) 703: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 301s local, disk-cache ... (2 actions running) 704: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 305s local, disk-cache ... (2 actions running) 705: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 329s local, disk-cache ... (2 actions running) 706: �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:window-firefox (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-firefox/test_attempts/attempt_2.log) 707: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 330s local, disk-cache ... (2 actions running) 708: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 371s local, disk-cache ... (2 actions running) 709: �[32m[1,305 / 1,307]�[0m 19 / 28 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 403s local, disk-cache ... (2 actions running) 710: �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:action_builder-firefox (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test.log) 711: �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:action_builder-firefox (Summary) 712: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test.log 713: ==================== Test output for //rb/spec/integration/selenium/webdriver:action_builder-firefox: 714: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test_attempts/attempt_1.log 715: Running Ruby specs: 716: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test_attempts/attempt_2.log 717: �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox: 718: browser: firefox 719: driver: firefox 720: version: stable 721: platform: macosx 722: ci: github 723: rbe: false 724: ruby: ruby 3.2.8 (2025-03-26 revision 13f495dc2c) [arm64-darwin24] 725: Selenium::WebDriver::ActionBuilder 726: #send_keys 727: sends keys to the active element (FAILED - 1) 728: sends keys to element (FAILED - 2) 729: sends keys with multiple arguments ... 743: #context_click 744: right clicks an element 745: executes with equivalent pointer methods 746: #move_to 747: moves to element 748: moves to element with offset 749: #drag_and_drop 750: moves one element to another 751: #drag_and_drop_by 752: moves one element a provided distance 753: #move_to_location 754: moves pointer to specified coordinates 755: pen stylus 756: sets pointer event properties (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};) 757: #scroll_to 758: scrolls to element (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};) 759: #scroll_by 760: scrolls by given amount (PENDING: Test skipped because it breaks test run; Guarded by {:driver=>:firefox, :reason=>"inconsistent behavior between versions"};) 761: #scroll_from 762: scrolls from element by given amount (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};) 763: scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};) 764: raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport 765: scrolls by given amount with offset 766: raises MoveTargetOutOfBoundsError when origin offset is out of viewport 767: Pending: (Failures listed here are expected and do not affect your suite's status) 768: 1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties 769: # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"}; 770: Failure/Error: actions.perform 771: Selenium::WebDriver::Error::UnknownError: 772: Error: Unimplemented pointerMove for pointerType pen 773: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 774: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 775: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 776: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 777: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 778: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 779: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 780: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 781: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 782: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 783: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 784: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:283:in `block (3 levels) in <module:WebDriver>' 785: # ------------------ 786: # --- Caused by: --- 787: # Selenium::WebDriver::Error::WebDriverError: 788: # pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2416:11 789: performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1636:31 790: dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1603:20 791: moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2343:9 792: 2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element 793: # Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"}; 794: Failure/Error: driver.action.scroll_to(iframe).perform 795: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 796: Move target (410, 2804) is out of bounds of viewport dimensions (1024, 601) 797: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 798: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 799: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 800: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 801: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 802: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 803: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 804: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 805: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 806: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 807: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 808: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:316:in `block (3 levels) in <module:WebDriver>' 809: # ------------------ 810: # --- Caused by: --- 811: # Selenium::WebDriver::Error::WebDriverError: 812: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 813: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 814: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 815: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 816: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 817: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 818: 3) Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount 819: # Test skipped because it breaks test run; Guarded by {:driver=>:firefox, :reason=>"inconsistent behavior between versions"}; 820: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:323 821: 4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount 822: # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"}; 823: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 824: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 825: Move target (410, 2802) is out of bounds of viewport dimensions (1024, 596) 826: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 827: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 828: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 829: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 830: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 831: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 832: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 833: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 834: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 835: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 836: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 837: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:343:in `block (3 levels) in <module:WebDriver>' 838: # ------------------ 839: # --- Caused by: --- 840: # Selenium::WebDriver::Error::WebDriverError: 841: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 842: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 843: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 844: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 845: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 846: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 847: 5) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset 848: # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"}; 849: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 850: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 851: Move target (504, 2856) is out of bounds of viewport dimensions (1024, 596) 852: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 853: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 854: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 855: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 856: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 857: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 858: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 859: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 860: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 861: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 862: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 863: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:357:in `block (3 levels) in <module:WebDriver>' 864: # ------------------ 865: # --- Caused by: --- 866: # Selenium::WebDriver::Error::WebDriverError: 867: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 868: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 869: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 870: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 871: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 872: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 873: Failures: 874: 1) Selenium::WebDriver::ActionBuilder#send_keys sends keys to the active element 875: Failure/Error: driver.navigate.to url_for('bodyTypingTest.html') 876: Net::ReadTimeout: ... 880: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 881: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 882: # ./rb/lib/selenium/webdriver/remote/bridge.rb:76:in `create_session' 883: # ./rb/lib/selenium/webdriver/common/driver.rb:325:in `block in create_bridge' 884: # ./rb/lib/selenium/webdriver/common/driver.rb:324:in `create_bridge' 885: # ./rb/lib/selenium/webdriver/common/driver.rb:73:in `initialize' 886: # ./rb/lib/selenium/webdriver/firefox/driver.rb:41:in `initialize' 887: # ./rb/lib/selenium/webdriver/common/driver.rb:53:in `new' 888: # ./rb/lib/selenium/webdriver/common/driver.rb:53:in `for' 889: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:258:in `firefox_driver' 890: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:176:in `create_driver!' 891: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:65:in `driver_instance' 892: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/helpers.rb:25:in `driver' 893: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:29:in `block (3 levels) in <module:WebDriver>' 894: 2) Selenium::WebDriver::ActionBuilder#send_keys sends keys to element 895: Failure/Error: driver.action.send_keys(input, 'abcd').perform 896: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 897: Move target (102, 600) is out of bounds of viewport dimensions (1024, 599) 898: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 899: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 900: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 901: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 902: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 903: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 904: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 905: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 906: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 907: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 908: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 909: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:46:in `block (3 levels) in <module:WebDriver>' 910: # ------------------ 911: # --- Caused by: --- 912: # Selenium::WebDriver::Error::WebDriverError: 913: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 914: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 915: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 916: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 917: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 918: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 919: Finished in 2 minutes 59.1 seconds (files took 0.35945 seconds to load) 920: 27 examples, 2 failures, 5 pending 921: Failed examples: 922: rspec ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:28 # Selenium::WebDriver::ActionBuilder#send_keys sends keys to the active element 923: rspec ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:41 # Selenium::WebDriver::ActionBuilder#send_keys sends keys to element 924: ================================================================================ 925: ==================== Test output for //rb/spec/integration/selenium/webdriver:action_builder-firefox: 926: Running Ruby specs: 927: browser: firefox 928: driver: firefox 929: version: stable 930: platform: macosx 931: ci: github 932: rbe: false 933: ruby: ruby 3.2.8 (2025-03-26 revision 13f495dc2c) [arm64-darwin24] 934: Selenium::WebDriver::ActionBuilder 935: #send_keys 936: sends keys to the active element 937: sends keys to element (FAILED - 1) 938: sends keys with multiple arguments ... 952: #context_click 953: right clicks an element 954: executes with equivalent pointer methods 955: #move_to 956: moves to element 957: moves to element with offset 958: #drag_and_drop 959: moves one element to another 960: #drag_and_drop_by 961: moves one element a provided distance 962: #move_to_location 963: moves pointer to specified coordinates 964: pen stylus 965: sets pointer event properties (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};) 966: #scroll_to 967: scrolls to element (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};) 968: #scroll_by 969: scrolls by given amount (PENDING: Test skipped because it breaks test run; Guarded by {:driver=>:firefox, :reason=>"inconsistent behavior between versions"};) 970: #scroll_from 971: scrolls from element by given amount (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};) 972: scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};) 973: raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport 974: scrolls by given amount with offset 975: raises MoveTargetOutOfBoundsError when origin offset is out of viewport 976: Pending: (Failures listed here are expected and do not affect your suite's status) 977: 1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties 978: # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"}; 979: Failure/Error: actions.perform 980: Selenium::WebDriver::Error::UnknownError: 981: Error: Unimplemented pointerMove for pointerType pen 982: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 983: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 984: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 985: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 986: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 987: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 988: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 989: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 990: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 991: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 992: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 993: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:283:in `block (3 levels) in <module:WebDriver>' 994: # ------------------ 995: # --- Caused by: --- 996: # Selenium::WebDriver::Error::WebDriverError: 997: # pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2416:11 998: performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1636:31 999: dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1603:20 1000: moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2343:9 1001: 2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element 1002: # Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"}; 1003: Failure/Error: driver.action.scroll_to(iframe).perform 1004: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1005: Move target (410, 2802) is out of bounds of viewport dimensions (1024, 596) 1006: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1007: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1008: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1009: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1010: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1011: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1012: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1013: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1014: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1015: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1016: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1017: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:316:in `block (3 levels) in <module:WebDriver>' 1018: # ------------------ 1019: # --- Caused by: --- 1020: # Selenium::WebDriver::Error::WebDriverError: 1021: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1022: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1023: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1024: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1025: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1026: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1027: 3) Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount 1028: # Test skipped because it breaks test run; Guarded by {:driver=>:firefox, :reason=>"inconsistent behavior between versions"}; 1029: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:323 1030: 4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount 1031: # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"}; 1032: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 1033: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1034: Move target (410, 2803) is out of bounds of viewport dimensions (1024, 599) 1035: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1036: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1037: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1038: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1039: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1040: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1041: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1042: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1043: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1044: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1045: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1046: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:343:in `block (3 levels) in <module:WebDriver>' 1047: # ------------------ 1048: # --- Caused by: --- 1049: # Selenium::WebDriver::Error::WebDriverError: 1050: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1051: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1052: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1053: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1054: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1055: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1056: 5) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset 1057: # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"}; 1058: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 1059: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1060: Move target (504, 2858) is out of bounds of viewport dimensions (1024, 599) 1061: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1062: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1063: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1064: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1065: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1066: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1067: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1068: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1069: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1070: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1071: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1072: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:357:in `block (3 levels) in <module:WebDriver>' 1073: # ------------------ 1074: # --- Caused by: --- 1075: # Selenium::WebDriver::Error::WebDriverError: 1076: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1077: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1078: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1079: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1080: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1081: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1082: Failures: 1083: 1) Selenium::WebDriver::ActionBuilder#send_keys sends keys to element 1084: Failure/Error: driver.action.send_keys(input, 'abcd').perform 1085: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1086: Move target (102, 600) is out of bounds of viewport dimensions (1024, 599) 1087: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1088: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1089: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1090: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1091: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1092: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1093: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1094: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1095: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1096: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1097: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1098: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:46:in `block (3 levels) in <module:WebDriver>' 1099: # ------------------ 1100: # --- Caused by: --- 1101: # Selenium::WebDriver::Error::WebDriverError: 1102: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1103: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1104: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1105: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1106: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1107: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1108: Finished in 1 minute 27.13 seconds (files took 0.30224 seconds to load) 1109: 27 examples, 1 failure, 5 pending 1110: Failed examples: 1111: rspec ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:41 # Selenium::WebDriver::ActionBuilder#send_keys sends keys to element 1112: ================================================================================ 1113: ==================== Test output for //rb/spec/integration/selenium/webdriver:action_builder-firefox: 1114: Running Ruby specs: 1115: browser: firefox 1116: driver: firefox 1117: version: stable 1118: platform: macosx 1119: ci: github 1120: rbe: false 1121: ruby: ruby 3.2.8 (2025-03-26 revision 13f495dc2c) [arm64-darwin24] 1122: Selenium::WebDriver::ActionBuilder 1123: #send_keys 1124: sends keys to the active element 1125: sends keys to element (FAILED - 1) 1126: sends keys with multiple arguments ... 1140: #context_click 1141: right clicks an element 1142: executes with equivalent pointer methods 1143: #move_to 1144: moves to element 1145: moves to element with offset 1146: #drag_and_drop 1147: moves one element to another 1148: #drag_and_drop_by 1149: moves one element a provided distance 1150: #move_to_location 1151: moves pointer to specified coordinates 1152: pen stylus 1153: sets pointer event properties (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"};) 1154: #scroll_to 1155: scrolls to element (PENDING: Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"};) 1156: #scroll_by 1157: scrolls by given amount (PENDING: Test skipped because it breaks test run; Guarded by {:driver=>:firefox, :reason=>"inconsistent behavior between versions"};) 1158: #scroll_from 1159: scrolls from element by given amount (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};) 1160: scrolls from element by given amount with offset (PENDING: Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"};) 1161: raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport 1162: scrolls by given amount with offset 1163: raises MoveTargetOutOfBoundsError when origin offset is out of viewport 1164: Pending: (Failures listed here are expected and do not affect your suite's status) 1165: 1) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties 1166: # Test guarded; Guarded by {:browser=>:firefox, :reason=>"Unknown pointerType"}; 1167: Failure/Error: actions.perform 1168: Selenium::WebDriver::Error::UnknownError: 1169: Error: Unimplemented pointerMove for pointerType pen 1170: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1171: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1172: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1173: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1174: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1175: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1176: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1177: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1178: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1179: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1180: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1181: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:283:in `block (3 levels) in <module:WebDriver>' 1182: # ------------------ 1183: # --- Caused by: --- 1184: # Selenium::WebDriver::Error::WebDriverError: 1185: # pointerMove@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2416:11 1186: performPointerMoveStep@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1636:31 1187: dispatch/<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:1603:20 1188: moveOverTime/transitions<@chrome://remote/content/shared/webdriver/Actions.sys.mjs:2343:9 1189: 2) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element 1190: # Test guarded; Guarded by {:browser=>:firefox, :reason=>"incorrect MoveTargetOutOfBoundsError"}; 1191: Failure/Error: driver.action.scroll_to(iframe).perform 1192: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1193: Move target (410, 2802) is out of bounds of viewport dimensions (1024, 597) 1194: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1195: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1196: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1197: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1198: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1199: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1200: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1201: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1202: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1203: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1204: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1205: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:316:in `block (3 levels) in <module:WebDriver>' 1206: # ------------------ 1207: # --- Caused by: --- 1208: # Selenium::WebDriver::Error::WebDriverError: 1209: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1210: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1211: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1212: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1213: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1214: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1215: 3) Selenium::WebDriver::ActionBuilder#scroll_by scrolls by given amount 1216: # Test skipped because it breaks test run; Guarded by {:driver=>:firefox, :reason=>"inconsistent behavior between versions"}; 1217: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:323 1218: 4) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount 1219: # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"}; 1220: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 1221: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1222: Move target (410, 2803) is out of bounds of viewport dimensions (1024, 599) 1223: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1224: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1225: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1226: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1227: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1228: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1229: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1230: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1231: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1232: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1233: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1234: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:343:in `block (3 levels) in <module:WebDriver>' 1235: # ------------------ 1236: # --- Caused by: --- 1237: # Selenium::WebDriver::Error::WebDriverError: 1238: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1239: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1240: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1241: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1242: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1243: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1244: 5) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset 1245: # Test guarded; Guarded by {:browser=>[:firefox, :safari], :reason=>"incorrect MoveTargetOutOfBoundsError"}; 1246: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 1247: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1248: Move target (504, 2858) is out of bounds of viewport dimensions (1024, 599) 1249: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1250: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1251: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1252: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1253: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1254: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1255: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1256: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1257: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1258: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1259: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1260: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:357:in `block (3 levels) in <module:WebDriver>' 1261: # ------------------ 1262: # --- Caused by: --- 1263: # Selenium::WebDriver::Error::WebDriverError: 1264: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1265: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1266: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1267: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1268: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1269: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1270: Failures: 1271: 1) Selenium::WebDriver::ActionBuilder#send_keys sends keys to element 1272: Failure/Error: driver.action.send_keys(input, 'abcd').perform 1273: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: 1274: Move target (102, 598) is out of bounds of viewport dimensions (1024, 596) 1275: # ./rb/lib/selenium/webdriver/remote/response.rb:63:in `add_cause' 1276: # ./rb/lib/selenium/webdriver/remote/response.rb:41:in `error' 1277: # ./rb/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 1278: # ./rb/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 1279: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `new' 1280: # ./rb/lib/selenium/webdriver/remote/http/common.rb:103:in `create_response' 1281: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1282: # ./rb/lib/selenium/webdriver/remote/http/common.rb:68:in `call' 1283: # ./rb/lib/selenium/webdriver/remote/bridge.rb:625:in `execute' 1284: # ./rb/lib/selenium/webdriver/remote/bridge.rb:353:in `send_actions' 1285: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1286: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:46:in `block (3 levels) in <module:WebDriver>' 1287: # ------------------ 1288: # --- Caused by: --- 1289: # Selenium::WebDriver::Error::WebDriverError: 1290: # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 1291: WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5 1292: MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5 1293: assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3122:11 1294: #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:67:17 1295: receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:187:42 1296: Finished in 1 minute 13.59 seconds (files took 0.22056 seconds to load) 1297: 27 examples, 1 failure, 5 pending 1298: Failed examples: 1299: rspec ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:41 # Selenium::WebDriver::ActionBuilder#send_keys sends keys to element 1300: ================================================================================ 1301: �[32m[1,306 / 1,307]�[0m 20 / 28 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:window-firefox; 224s local, disk-cache 1302: �[32m[1,306 / 1,307]�[0m 20 / 28 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:window-firefox; 235s local, disk-cache 1303: �[32m[1,306 / 1,307]�[0m 20 / 28 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver:window-firefox; 250s local, disk-cache 1304: �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:window-firefox (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-firefox/test.log) 1305: ==================== Test output for //rb/spec/integration/selenium/webdriver:window-firefox: 1306: �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:window-firefox (Summary) 1307: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-firefox/test.log ... 1311: browser: firefox 1312: �[32mINFO: �[0mFrom Testing //rb/spec/integration/selenium/webdriver:window-firefox: 1313: driver: firefox 1314: version: stable 1315: platform: macosx 1316: ci: github 1317: rbe: false 1318: ruby: ruby 3.2.8 (2025-03-26 revision 13f495dc2c) [arm64-darwin24] 1319: Selenium::WebDriver::Window 1320: gets the size of the current window 1321: sets the size of the current window 1322: gets the position of the current window 1323: sets the position of the current window 1324: gets the rect of the current window 1325: sets the rect of the current window 1326: can maximize the current window (FAILED - 1) 1327: can make window full screen 1328: can minimize the window 1329: Failures: 1330: 1) Selenium::WebDriver::Window can maximize the current window 1331: Failure/Error: expect(new_size.height).to be > old_size.height 1332: expected: > 700 1333: got: 684 1334: # ./rb/spec/integration/selenium/webdriver/window_spec.rb:113:in `block (2 levels) in <module:WebDriver>' 1335: Finished in 27.31 seconds (files took 0.67182 seconds to load) 1336: 9 examples, 1 failure 1337: Failed examples: 1338: rspec ./rb/spec/integration/selenium/webdriver/window_spec.rb:105 # Selenium::WebDriver::Window can maximize the current window ... 1341: Running Ruby specs: 1342: browser: firefox 1343: driver: firefox 1344: version: stable 1345: platform: macosx 1346: ci: github 1347: rbe: false 1348: ruby: ruby 3.2.8 (2025-03-26 revision 13f495dc2c) [arm64-darwin24] 1349: Selenium::WebDriver::Window 1350: gets the size of the current window 1351: sets the size of the current window 1352: gets the position of the current window 1353: sets the position of the current window 1354: gets the rect of the current window 1355: sets the rect of the current window 1356: can maximize the current window (FAILED - 1) 1357: can make window full screen 1358: can minimize the window 1359: Failures: 1360: 1) Selenium::WebDriver::Window can maximize the current window 1361: Failure/Error: expect(new_size.height).to be > old_size.height 1362: expected: > 700 1363: got: 684 1364: # ./rb/spec/integration/selenium/webdriver/window_spec.rb:113:in `block (2 levels) in <module:WebDriver>' 1365: Finished in 28.42 seconds (files took 0.5239 seconds to load) 1366: 9 examples, 1 failure 1367: Failed examples: 1368: rspec ./rb/spec/integration/selenium/webdriver/window_spec.rb:105 # Selenium::WebDriver::Window can maximize the current window ... 1371: Running Ruby specs: 1372: browser: firefox 1373: driver: firefox 1374: version: stable 1375: platform: macosx 1376: ci: github 1377: rbe: false 1378: ruby: ruby 3.2.8 (2025-03-26 revision 13f495dc2c) [arm64-darwin24] 1379: Selenium::WebDriver::Window 1380: gets the size of the current window 1381: sets the size of the current window 1382: gets the position of the current window 1383: sets the position of the current window 1384: gets the rect of the current window 1385: sets the rect of the current window 1386: can maximize the current window (FAILED - 1) 1387: can make window full screen 1388: can minimize the window 1389: Failures: 1390: 1) Selenium::WebDriver::Window can maximize the current window 1391: Failure/Error: expect(new_size.height).to be > old_size.height 1392: expected: > 700 1393: got: 684 1394: # ./rb/spec/integration/selenium/webdriver/window_spec.rb:113:in `block (2 levels) in <module:WebDriver>' 1395: Finished in 26.8 seconds (files took 0.19324 seconds to load) 1396: 9 examples, 1 failure 1397: Failed examples: 1398: rspec ./rb/spec/integration/selenium/webdriver/window_spec.rb:105 # Selenium::WebDriver::Window can maximize the current window 1399: ================================================================================ 1400: �[32m[1,312 / 1,313]�[0m 26 / 28 tests, �[31m�[1m2 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox; 0s disk-cache 1401: �[32mINFO: �[0mFound 28 test targets... 1402: �[32mINFO: �[0mElapsed time: 506.141s, Critical Path: 433.30s 1403: �[32mINFO: �[0m1314 processes: 623 disk cache hit, 672 internal, 7 darwin-sandbox, 12 local. 1404: //rb/spec/integration/selenium/webdriver:bidi-firefox �[0m�[32m(cached) PASSED�[0m in 0.5s 1405: �[32mINFO: �[0mBuild completed, 2 tests FAILED, 1314 total actions 1406: //rb/spec/integration/selenium/webdriver:devtools-firefox �[0m�[32m(cached) PASSED�[0m in 0.5s 1407: //rb/spec/integration/selenium/webdriver:driver-firefox �[0m�[32m(cached) PASSED�[0m in 19.9s 1408: //rb/spec/integration/selenium/webdriver:element-firefox �[0m�[32m(cached) PASSED�[0m in 45.2s 1409: //rb/spec/integration/selenium/webdriver:error-firefox �[0m�[32m(cached) PASSED�[0m in 15.7s 1410: //rb/spec/integration/selenium/webdriver:fedcm-firefox �[0m�[32m(cached) PASSED�[0m in 74.7s ... 1417: //rb/spec/integration/selenium/webdriver:shadow_root-firefox �[0m�[32m(cached) PASSED�[0m in 43.6s 1418: //rb/spec/integration/selenium/webdriver:takes_screenshot-firefox �[0m�[32m(cached) PASSED�[0m in 23.7s 1419: //rb/spec/integration/selenium/webdriver:target_locator-firefox �[0m�[32m(cached) PASSED�[0m in 65.6s 1420: //rb/spec/integration/selenium/webdriver:timeout-firefox �[0m�[32m(cached) PASSED�[0m in 16.2s 1421: //rb/spec/integration/selenium/webdriver:virtual_authenticator-firefox �[0m�[32m(cached) PASSED�[0m in 1.6s 1422: //rb/spec/integration/selenium/webdriver/bidi:browser-firefox �[0m�[32m(cached) PASSED�[0m in 0.5s 1423: //rb/spec/integration/selenium/webdriver/bidi:browsing_context-firefox �[0m�[32m(cached) PASSED�[0m in 0.5s 1424: //rb/spec/integration/selenium/webdriver/bidi:log_inspector-firefox �[0m�[32m(cached) PASSED�[0m in 0.5s 1425: //rb/spec/integration/selenium/webdriver/bidi:network-firefox �[0m�[32m(cached) PASSED�[0m in 0.6s 1426: //rb/spec/integration/selenium/webdriver/bidi:script-firefox �[0m�[32m(cached) PASSED�[0m in 0.5s 1427: //rb/spec/integration/selenium/webdriver/firefox:driver-firefox �[0m�[32m(cached) PASSED�[0m in 32.3s 1428: //rb/spec/integration/selenium/webdriver/firefox:profile-firefox �[0m�[32m(cached) PASSED�[0m in 25.9s 1429: //rb/spec/integration/selenium/webdriver/firefox:service-firefox �[0m�[32m(cached) PASSED�[0m in 2.5s 1430: //rb/spec/integration/selenium/webdriver/remote:driver-firefox �[0m�[32m(cached) PASSED�[0m in 0.9s 1431: //rb/spec/integration/selenium/webdriver/remote:element-firefox �[0m�[32m(cached) PASSED�[0m in 8.0s 1432: //rb/spec/integration/selenium/webdriver:action_builder-firefox �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 180.8s 1433: Stats over 3 runs: max = 180.8s, min = 74.3s, avg = 114.6s, dev = 47.2s 1434: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test.log 1435: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test_attempts/attempt_1.log 1436: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-firefox/test_attempts/attempt_2.log 1437: //rb/spec/integration/selenium/webdriver:window-firefox �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 30.4s 1438: Stats over 3 runs: max = 30.4s, min = 27.7s, avg = 29.2s, dev = 1.1s 1439: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-firefox/test.log 1440: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-firefox/test_attempts/attempt_1.log 1441: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_arm64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/window-firefox/test_attempts/attempt_2.log 1442: Executed 2 out of 28 tests: 26 tests pass and �[0m�[31m�[1m2 fail locally�[0m. 1443: There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are. 1444: ##[error]Process completed with exit code 3. 1445: Post job cleanup. 
@VietND96 VietND96 merged commit 3491e41 into trunk Sep 5, 2025
31 of 32 checks passed
@VietND96 VietND96 deleted the netty-4.2 branch September 5, 2025 12:51
dnegreira added a commit to dnegreira/advisories that referenced this pull request Sep 10, 2025
Update advisories GHSA-3p8m-j85q-pgmj and GHSA-fghv-69vj-qj49 We are unable to bump netty-codec or netty-codec-http to a newer version without breaking the build. Upstream already has a fix in place for a future version, and we should await for a new build with the fixed versions. More information: SeleniumHQ/selenium#16194 Signed-off-by: David Negreira <david.negreira@chainguard.dev>
dnegreira added a commit to dnegreira/advisories that referenced this pull request Sep 10, 2025
Update advisories GHSA-3p8m-j85q-pgmj and GHSA-fghv-69vj-qj49 We are unable to bump netty-codec or netty-codec-http to a newer version without breaking the build. Upstream already has a fix in place for a future version, and we should await for a new build with the fixed versions. More information: SeleniumHQ/selenium#16194
github-merge-queue bot pushed a commit to wolfi-dev/advisories that referenced this pull request Sep 10, 2025
Update advisories GHSA-3p8m-j85q-pgmj and GHSA-fghv-69vj-qj49 We are unable to bump netty-codec or netty-codec-http to a newer version without breaking the build. Upstream already has a fix in place for a future version, and we should await for a new build with the fixed versions. More information: SeleniumHQ/selenium#16194 Signed-off-by: David Negreira <david.negreira@chainguard.dev>
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 Review effort 3/5

4 participants