-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[rb] implement toggle for BiDi and Classic implementations #14092
Conversation
PR Review 🔍
|
PR Code Suggestions ✨
|
CI Failure Feedback 🧐(Checks updated until commit b41d57f)
✨ CI feedback usage guide:The CI feedback tool (
In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:
where Configuration options
See more information about the |
050abb3
to
b41d57f
Compare
These test failures are weird protoc compile issues that don't make sense and definitely don't impact this PR (and intermittently pass on rerun 🤷). The RBE tests are passing is the important piece. |
…Q#14092) [rb] use BiDiBridge subclass when web_socket_url is true
User description
This is a much simpler implementation of, and replaces #13126
Description
"webSocketUrl": true
to the driver should give the right failure message if it is not supported, bindings don't have to work around it#bidi
onBridge
gives a warning that web_socket_url must be used to access BiDi (this is the real reason to pass the bridge to the BiDi classes and not just the bidi instance; the warning is in one place and works everywhere)Motivation and Context
This is a prerequisite for #13995
PR Type
Enhancement
Description
BiDiBridge
class to handle BiDi-specific logic.create_bridge
method to useBiDiBridge
whenwebSocketUrl
capability is true.BiDiBridge
in the remote module.Bridge
class to remove BiDi-specific logic and updated thebidi
method to raise an error ifweb_socket_url
is not enabled.Changes walkthrough 📝
driver.rb
Use `BiDiBridge` subclass based on `webSocketUrl` capability
rb/lib/selenium/webdriver/common/driver.rb
create_bridge
method to useBiDiBridge
subclass whenwebSocketUrl
is true.remote.rb
Autoload `BiDiBridge` in remote module
rb/lib/selenium/webdriver/remote.rb
BiDiBridge
.bidi_bridge.rb
Implement `BiDiBridge` class with session management
rb/lib/selenium/webdriver/remote/bidi_bridge.rb
BiDiBridge
class inheriting fromBridge
.create_session
,quit
, andclose
methods inBiDiBridge
.bridge.rb
Refactor `Bridge` class to remove BiDi logic
rb/lib/selenium/webdriver/remote/bridge.rb
Bridge
class.bidi
method to raise an error ifweb_socket_url
is notenabled.