-
-
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
[dotnet] implement WebDriver BiDi #14012
Conversation
CI Failure Feedback 🧐(Checks updated until commit fcb4798)
✨ 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 |
Ok, I also need to figure out how to add the nuget dependency to: and maybe also some |
We probably want to have both environment variable and a Bazel flag?
|
@p0deje I'm more thinking about toggling between WebDriver classic and webDriver BiDi commands. I'm not very interested in toggling between CDP & BiDi, because we should be getting away from CDP. 😁 |
Maybe then it would be better to have individual test targets for classic and bidi? It would ensure that we properly cache test results and don't re-run unless necessary?
To run all the tests, we'd use:
|
I made a mess of this one and can't seem to fix it, closing and opening a new PR. 😁 |
Status
This is in Draft so we can discuss what the API could look like
The PR is overly complicated because it relies on #13952 & #14010 so those must be merged first; can tidy it up after merging those (and if you want to hold off on reviewing it until then, that's fine, too).
Description
webSocketUrl
is setMotivation and Context
This should be the easiest way to have working BiDi implementation in .NET since Jim has already written all the lower level commands (and would love not to duplicate that effort if we don't have to)
The conditionals in each method are not the most elegant, but they are straightforward, and I think that's preferred.
It'll be easy enough to just remove the conditionals when we remove support for WebDriver classic (Selenium 6?)
Considerations
We still need to implement updating
browsingContextId
when windows are switched, and figure out how navigation works if the browser context is a frame (recursively get parent?)Figure out a better way to toggle BiDi with Bazel; I foresee us running tests with it toggled on and off, and I'm not sure an environment variable is the right way to do it. (@p0deje probably knows how to allow adding a flag for this)
@YevgeniyShunevych your input is appreciated as well