[py] Use generated Bidi files instead of hand curated ones#17266
Conversation
There was a problem hiding this comment.
Pull request overview
This PR migrates Selenium’s Python WebDriver BiDi implementation from hand-curated source files to Bazel-generated modules produced from the BiDi CDDL specification (per #16914), and adjusts supporting build/test infrastructure accordingly.
Changes:
- Remove the hand-maintained
py/selenium/webdriver/common/bidi/*modules and wire Bazel to generate them fromcommon/bidi/spec/*.cddl. - Update Python runtime plumbing to support generated BiDi dataclasses over WebSocket (custom JSON encoding +
RemoteWebDriver.execute()accepting BiDi command generators). - Add/adjust supporting tooling and tests (local dev copy task, CLI alias, minor test robustness tweaks).
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/update_copyright.py | Stop excluding a removed BiDi file from copyright updates. |
| rake_tasks/python.rake | Copy generated BiDi files into the source tree for local dev workflows. |
| py/test/selenium/webdriver/common/bidi_browsing_context_tests.py | Make viewport assertions tolerant to minor WM differences. |
| py/test/selenium/webdriver/common/bidi_browser_tests.py | Update imports/constants + locator usage to match generated BiDi APIs. |
| py/selenium/webdriver/remote/websocket_connection.py | Add BiDi-oriented JSON encoding for dataclass payloads when sending WS commands. |
| py/selenium/webdriver/remote/webdriver.py | Allow execute() to accept BiDi command generators and route them via WebSocket. |
| py/selenium/webdriver/common/proxy.py | Add __future__ annotations + formatting adjustments. |
| py/selenium/webdriver/common/by.py | Add __future__ annotations + reformat ByType literal. |
| py/selenium/webdriver/common/bidi/webextension.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/storage.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/session.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/script.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/permissions.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/network.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/log.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/input.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/emulation.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/console.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/common.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/browsing_context.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/browser.py | Remove hand-curated BiDi module (replaced by generated). |
| py/selenium/webdriver/common/bidi/init.py | Remove hand-curated package init (replaced by generated). |
| py/selenium/common/exceptions.py | Formatting-only changes to exception constructors. |
| py/private/generate_bidi.bzl | Add Bazel rule to generate BiDi Python modules from CDDL. |
| py/private/cdp.py | Tighten devtools version directory detection. |
| py/private/_event_manager.py | Add shared event manager used by generated BiDi modules. |
| py/private/BUILD.bazel | Export generator support files for Bazel consumption. |
| py/conftest.py | Add --browser CLI alias for --driver. |
| py/BUILD.bazel | Wire BiDi generation into the Python build graph. |
| py/AGENTS.md | Update Python 3.10+ guidance for agents/contributors. |
| dotnet/src/webdriver/BiDi/EventDispatcher.cs | Refactor event dispatcher internals (currently contains compile-breaking issues). |
| common/bidi/spec/remote.cddl | Add BiDi CDDL “remote” spec inputs for generation. |
| common/bidi/spec/local.cddl | Add BiDi CDDL “local” spec inputs for generation. |
| common/bidi/spec/BUILD.bazel | Export CDDL specs for the Python generator rule. |
Comments suppressed due to low confidence (2)
dotnet/src/webdriver/BiDi/EventDispatcher.cs:43
- The channel is typed as
Channel<EventItem>, but this file only definesPendingEventandEnqueueEventwritesPendingEventinstances. This won’t compile unlessEventItemexists and matches the written type; either switch the channel back toChannel<PendingEvent>or introduce a consistentEventItemtype and use it everywhere.
private readonly Channel<EventItem> _pendingEvents = Channel.CreateUnbounded<EventItem>(new()
{
SingleReader = true,
SingleWriter = true
});
dotnet/src/webdriver/BiDi/EventDispatcher.cs:99
- Inside
ProcessEventsAsync, the loop reads intoevt, but the code still referencesresult.Method/result.EventArgs. This won’t compile and will also read the wrong values. Use the variable you actually read from the channel consistently (and ensure its type matches the channel’s item type).
while (await reader.WaitToReadAsync().ConfigureAwait(false))
{
while (reader.TryRead(out var evt))
{
if (_eventRegistrations.TryGetValue(result.Method, out var registration))
{
foreach (var handler in registration.GetHandlers()) // copy-on-write array, safe to iterate
{
var runningHandlerTask = InvokeHandlerAsync(handler, result.EventArgs);
if (!runningHandlerTask.IsCompleted)
{
|
We need to add the directory to ruff config in You can add it to: |
|
@AutomatedTester I pushed a fix to your branch that resolves all the comments I made and also adds the generated files to |
|
there are still some linting/formatting errors in the new generation code |
d6d11a4 to
b49a8eb
Compare
cgoldberg
left a comment
There was a problem hiding this comment.
I fixed python.rake previously, but you force pushed over my commit :/ I just added comments again.
We should add the generated files to .gitignore
Also, run the formatter so it passes the lint job in CI.
753c026 to
9d253d5
Compare
9d253d5 to
b6592e1
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 38 out of 39 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
scripts/update_copyright.py:108
PY_EXCLUSIONSno longer excludes any MIT/third-party sources. With the newpy/private/cdp.py(MIT-licensed) in this PR, running this script would prepend the Selenium Apache-2.0 notice to that file, which would be an incorrect/unsafe license header modification. Please addpy/private/cdp.py(and any other non-SFC third-party sources) toPY_EXCLUSIONSso the script does not rewrite their license text.
Updated [Microsoft.AspNetCore.Components.Authorization](https://github.com/dotnet/aspnetcore) from 8.0.26 to 8.0.27. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.Components.Authorization's releases](https://github.com/dotnet/aspnetcore/releases)._ ## 8.0.27 [Release](https://github.com/dotnet/core/releases/tag/v8.0.27) ## What's Changed * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/aspnetcore#66205 * [release/8.0] Update NPM dependencies by @wtgodbe in dotnet/aspnetcore#66052 * [release/8.0] Move off of dead-lettered Windows preview helix queue by @wtgodbe in dotnet/aspnetcore#66220 * [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to `d72f9c8` by @dependabot[bot] in dotnet/aspnetcore#66087 * [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF service connection in mirror-within-azdo by @missymessa in dotnet/aspnetcore#66115 * [release/8.0] Update dependencies from dotnet/source-build-externals by @dotnet-maestro[bot] in dotnet/aspnetcore#66216 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/aspnetcore#66081 * [release/8.0] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro[bot] in dotnet/aspnetcore#66131 * [release/8.0] Update @azure/msal-browser from 2.x to 4.x by @wtgodbe in dotnet/aspnetcore#66236 * [release/8.0] Use source-build-assets repo by @NikolaMilosavljevic in dotnet/aspnetcore#66276 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/aspnetcore#66317 **Full Changelog**: dotnet/aspnetcore@v8.0.26...v8.0.27 Commits viewable in [compare view](dotnet/aspnetcore@v8.0.26...v8.0.27). </details> Updated [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore) from 8.0.26 to 8.0.27. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.Components.WebAssembly's releases](https://github.com/dotnet/aspnetcore/releases)._ ## 8.0.27 [Release](https://github.com/dotnet/core/releases/tag/v8.0.27) ## What's Changed * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/aspnetcore#66205 * [release/8.0] Update NPM dependencies by @wtgodbe in dotnet/aspnetcore#66052 * [release/8.0] Move off of dead-lettered Windows preview helix queue by @wtgodbe in dotnet/aspnetcore#66220 * [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to `d72f9c8` by @dependabot[bot] in dotnet/aspnetcore#66087 * [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF service connection in mirror-within-azdo by @missymessa in dotnet/aspnetcore#66115 * [release/8.0] Update dependencies from dotnet/source-build-externals by @dotnet-maestro[bot] in dotnet/aspnetcore#66216 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/aspnetcore#66081 * [release/8.0] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro[bot] in dotnet/aspnetcore#66131 * [release/8.0] Update @azure/msal-browser from 2.x to 4.x by @wtgodbe in dotnet/aspnetcore#66236 * [release/8.0] Use source-build-assets repo by @NikolaMilosavljevic in dotnet/aspnetcore#66276 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/aspnetcore#66317 **Full Changelog**: dotnet/aspnetcore@v8.0.26...v8.0.27 Commits viewable in [compare view](dotnet/aspnetcore@v8.0.26...v8.0.27). </details> Updated [Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.8. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.Components.WebAssembly.DevServer's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.AspNetCore.Http.Abstractions](https://github.com/dotnet/aspnetcore) from 2.3.9 to 2.3.10. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.Http.Abstractions's releases](https://github.com/dotnet/aspnetcore/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/aspnetcore/commits). </details> Updated [Microsoft.AspNetCore.Mvc.Testing](https://github.com/dotnet/aspnetcore) from 8.0.26 to 8.0.27. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.Mvc.Testing's releases](https://github.com/dotnet/aspnetcore/releases)._ ## 8.0.27 [Release](https://github.com/dotnet/core/releases/tag/v8.0.27) ## What's Changed * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/aspnetcore#66205 * [release/8.0] Update NPM dependencies by @wtgodbe in dotnet/aspnetcore#66052 * [release/8.0] Move off of dead-lettered Windows preview helix queue by @wtgodbe in dotnet/aspnetcore#66220 * [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to `d72f9c8` by @dependabot[bot] in dotnet/aspnetcore#66087 * [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF service connection in mirror-within-azdo by @missymessa in dotnet/aspnetcore#66115 * [release/8.0] Update dependencies from dotnet/source-build-externals by @dotnet-maestro[bot] in dotnet/aspnetcore#66216 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/aspnetcore#66081 * [release/8.0] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro[bot] in dotnet/aspnetcore#66131 * [release/8.0] Update @azure/msal-browser from 2.x to 4.x by @wtgodbe in dotnet/aspnetcore#66236 * [release/8.0] Use source-build-assets repo by @NikolaMilosavljevic in dotnet/aspnetcore#66276 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/aspnetcore#66317 **Full Changelog**: dotnet/aspnetcore@v8.0.26...v8.0.27 Commits viewable in [compare view](dotnet/aspnetcore@v8.0.26...v8.0.27). </details> Updated [Microsoft.AspNetCore.OpenApi](https://github.com/dotnet/aspnetcore) from 8.0.26 to 8.0.27. <details> <summary>Release notes</summary> _Sourced from [Microsoft.AspNetCore.OpenApi's releases](https://github.com/dotnet/aspnetcore/releases)._ ## 8.0.27 [Release](https://github.com/dotnet/core/releases/tag/v8.0.27) ## What's Changed * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/aspnetcore#66205 * [release/8.0] Update NPM dependencies by @wtgodbe in dotnet/aspnetcore#66052 * [release/8.0] Move off of dead-lettered Windows preview helix queue by @wtgodbe in dotnet/aspnetcore#66220 * [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to `d72f9c8` by @dependabot[bot] in dotnet/aspnetcore#66087 * [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF service connection in mirror-within-azdo by @missymessa in dotnet/aspnetcore#66115 * [release/8.0] Update dependencies from dotnet/source-build-externals by @dotnet-maestro[bot] in dotnet/aspnetcore#66216 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/aspnetcore#66081 * [release/8.0] Update dependencies from dotnet/source-build-reference-packages by @dotnet-maestro[bot] in dotnet/aspnetcore#66131 * [release/8.0] Update @azure/msal-browser from 2.x to 4.x by @wtgodbe in dotnet/aspnetcore#66236 * [release/8.0] Use source-build-assets repo by @NikolaMilosavljevic in dotnet/aspnetcore#66276 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/aspnetcore#66317 **Full Changelog**: dotnet/aspnetcore@v8.0.26...v8.0.27 Commits viewable in [compare view](dotnet/aspnetcore@v8.0.26...v8.0.27). </details> Updated [Microsoft.EntityFrameworkCore](https://github.com/dotnet/efcore) from 9.0.15 to 9.0.16. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore's releases](https://github.com/dotnet/efcore/releases)._ ## 9.0.16 [Release](https://github.com/dotnet/core/releases/tag/v9.0.16) ## What's Changed * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37900 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37969 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38034 * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/efcore#38062 * [release/9.0] Update branding to 9.0.16 by @vseanreesermsft in dotnet/efcore#38063 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38053 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#37908 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#38099 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#38101 * Merging internal commits for release/9.0 by @vseanreesermsft in dotnet/efcore#38098 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38170 **Full Changelog**: dotnet/efcore@v9.0.15...v9.0.16 Commits viewable in [compare view](dotnet/efcore@v9.0.15...v9.0.16). </details> Updated [Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/efcore) from 9.0.15 to 9.0.16. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.Design's releases](https://github.com/dotnet/efcore/releases)._ ## 9.0.16 [Release](https://github.com/dotnet/core/releases/tag/v9.0.16) ## What's Changed * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37900 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37969 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38034 * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/efcore#38062 * [release/9.0] Update branding to 9.0.16 by @vseanreesermsft in dotnet/efcore#38063 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38053 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#37908 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#38099 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#38101 * Merging internal commits for release/9.0 by @vseanreesermsft in dotnet/efcore#38098 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38170 **Full Changelog**: dotnet/efcore@v9.0.15...v9.0.16 Commits viewable in [compare view](dotnet/efcore@v9.0.15...v9.0.16). </details> Updated [Microsoft.EntityFrameworkCore.InMemory](https://github.com/dotnet/efcore) from 9.0.15 to 9.0.16. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.InMemory's releases](https://github.com/dotnet/efcore/releases)._ ## 9.0.16 [Release](https://github.com/dotnet/core/releases/tag/v9.0.16) ## What's Changed * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37900 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37969 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38034 * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/efcore#38062 * [release/9.0] Update branding to 9.0.16 by @vseanreesermsft in dotnet/efcore#38063 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38053 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#37908 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#38099 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#38101 * Merging internal commits for release/9.0 by @vseanreesermsft in dotnet/efcore#38098 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38170 **Full Changelog**: dotnet/efcore@v9.0.15...v9.0.16 Commits viewable in [compare view](dotnet/efcore@v9.0.15...v9.0.16). </details> Updated [Microsoft.EntityFrameworkCore.Relational](https://github.com/dotnet/efcore) from 9.0.15 to 9.0.16. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.Relational's releases](https://github.com/dotnet/efcore/releases)._ ## 9.0.16 [Release](https://github.com/dotnet/core/releases/tag/v9.0.16) ## What's Changed * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37900 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37969 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38034 * [release/8.0] Update branding to 8.0.27 by @vseanreesermsft in dotnet/efcore#38062 * [release/9.0] Update branding to 9.0.16 by @vseanreesermsft in dotnet/efcore#38063 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38053 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#37908 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#38099 * [automated] Merge branch 'release/8.0' => 'release/9.0' by @github-actions[bot] in dotnet/efcore#38101 * Merging internal commits for release/9.0 by @vseanreesermsft in dotnet/efcore#38098 * [release/9.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#38170 **Full Changelog**: dotnet/efcore@v9.0.15...v9.0.16 Commits viewable in [compare view](dotnet/efcore@v9.0.15...v9.0.16). </details> Updated [Microsoft.Extensions.Caching.Abstractions](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.8. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Caching.Abstractions's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Configuration](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.8. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Configuration.Binder](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.8. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Configuration.Binder's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Hosting](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.8. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Hosting's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Http](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.8. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Http's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Microsoft.Extensions.Options.DataAnnotations](https://github.com/dotnet/dotnet) from 10.0.7 to 10.0.8. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Extensions.Options.DataAnnotations's releases](https://github.com/dotnet/dotnet/releases)._ No release notes found for this version range. Commits viewable in [compare view](https://github.com/dotnet/dotnet/commits). </details> Updated [Selenium.Support](https://github.com/SeleniumHQ/selenium) from 4.43.0 to 4.44.0. <details> <summary>Release notes</summary> _Sourced from [Selenium.Support's releases](https://github.com/SeleniumHQ/selenium/releases)._ ## 4.44.0 ## Detailed Changelogs by Component <img src="https://www.selenium.dev/images/programming/java.svg" width="20" height="20"> **[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)** | <img src="https://www.selenium.dev/images/programming/python.svg" width="20" height="20"> **[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)** | <img src="https://www.selenium.dev/images/programming/dotnet.svg" width="20" height="20"> **[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)** | <img src="https://www.selenium.dev/images/programming/ruby.svg" width="20" height="20"> **[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)** | <img src="https://www.selenium.dev/images/programming/javascript.svg" width="20" height="20"> **[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)** <br> <!-- Release notes generated using configuration in .github/release.yml at da2039bd1456a161d0c284de16f9f4f179f1e8ca --> ## What's Changed <details> <summary>Click to see all the changes included in this release</summary> * fix(documentation): update artifact naming for generated docs by @diemol in SeleniumHQ/selenium#17332 * fix(ruby): retrieve devtools version dynamically for package verification by @diemol in SeleniumHQ/selenium#17335 * [dotnet] Don't truncate internal log messages at error/warn levels by @nvborisenko in SeleniumHQ/selenium#17333 * [dotnet] Safe modifications of internal log handlers by @nvborisenko in SeleniumHQ/selenium#17334 * [dotnet] Remove planned obsoleted members for 4.44 by @nvborisenko in SeleniumHQ/selenium#17328 * [dotnet] [bidi] Statically declare commands by @nvborisenko in SeleniumHQ/selenium#17330 * [dotnet] [bidi] Statically declared events by @nvborisenko in SeleniumHQ/selenium#17331 * [dotnet] Add C# 14 extension to polyfill `ArgumentNullException.ThrowIfNull` by @RenderMichael in SeleniumHQ/selenium#16697 * [dotnet] [bidi] Align SetDownloadBehavior command by @nvborisenko in SeleniumHQ/selenium#17336 * [dotnet] [bidi] Align ContinueWithAuth command by @nvborisenko in SeleniumHQ/selenium#17337 * [dotnet] [bidi] Align SetGeolocation polymorphic command by @nvborisenko in SeleniumHQ/selenium#17338 * [dotnet] [test] In-process test webserver by @nvborisenko in SeleniumHQ/selenium#17339 * [java] deprecate the 'native' methods inside the HttpClient interface by @joerg1985 in SeleniumHQ/selenium#17340 * CDDL 2 Python generator by @AutomatedTester in SeleniumHQ/selenium#16914 * Fix py:local_dev rake task by @cgoldberg in SeleniumHQ/selenium#17342 * [grid] Accept legacy session-closed event payloads by @VietND96 in SeleniumHQ/selenium#17343 * [java] specify nullability in package `org.openqa.selenium.remote` by @asolntsev in SeleniumHQ/selenium#17325 * fix NPE when response status is null by @asolntsev in SeleniumHQ/selenium#17348 * [java] fix NoSuchElementException for custom By locators by @Chandan25sharma in SeleniumHQ/selenium#17287 * [py] Update docs with pytest example and minor formatting fixes by @cgoldberg in SeleniumHQ/selenium#17351 * [dotnet] Fix stopping of network monitoring via DevTools by @nvborisenko in SeleniumHQ/selenium#17352 * [dotnet] [test] Update tests to target .NET 10 by @nvborisenko in SeleniumHQ/selenium#17353 * [build] Clean extra tools from GHA runner to free disk space by @cgoldberg in SeleniumHQ/selenium#17360 * Initial Creation of the Selenium CLI Tool by @AutomatedTester in SeleniumHQ/selenium#17327 * [java] fix some nullability warnings by @asolntsev in SeleniumHQ/selenium#17362 * [py] Use generated Bidi files instead of hand curated ones by @AutomatedTester in SeleniumHQ/selenium#17266 * [docs] Add AI-assisted contribution policy by @titusfortner in SeleniumHQ/selenium#17043 * [Agents] Update agents to make sure do linting. by @AutomatedTester in SeleniumHQ/selenium#17366 * [py] Bump dependencies by @cgoldberg in SeleniumHQ/selenium#17368 * [git] update gitignore to exclude mempalace by @AutomatedTester in SeleniumHQ/selenium#17369 * [java] remove field `ChromiumDriver.capabilities` by @asolntsev in SeleniumHQ/selenium#17363 * [spec] Use http_file for the cddl files by @AutomatedTester in SeleniumHQ/selenium#17372 * [dotnet] [bidi] Obsolete Type(string) method in Input module by @nvborisenko in SeleniumHQ/selenium#17377 * Fix Network failures by @AutomatedTester in SeleniumHQ/selenium#17381 * [java] [test] Unignore bidi network conditions tests for Firefox by @nvborisenko in SeleniumHQ/selenium#17385 * [dotnet] [test] Unignore network conditions tests for Firefox by @nvborisenko in SeleniumHQ/selenium#17386 * [dotnet] [test] Migrate to MTP by @nvborisenko in SeleniumHQ/selenium#17384 * [dotnet] Support `UnhandledPromptBehavior` option as string and map (breaking change) by @nvborisenko in SeleniumHQ/selenium#16557 ... (truncated) Commits viewable in [compare view](SeleniumHQ/selenium@selenium-4.43.0...selenium-4.44.0). </details> Updated [Selenium.WebDriver](https://github.com/SeleniumHQ/selenium) from 4.43.0 to 4.44.0. <details> <summary>Release notes</summary> _Sourced from [Selenium.WebDriver's releases](https://github.com/SeleniumHQ/selenium/releases)._ ## 4.44.0 ## Detailed Changelogs by Component <img src="https://www.selenium.dev/images/programming/java.svg" width="20" height="20"> **[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)** | <img src="https://www.selenium.dev/images/programming/python.svg" width="20" height="20"> **[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)** | <img src="https://www.selenium.dev/images/programming/dotnet.svg" width="20" height="20"> **[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)** | <img src="https://www.selenium.dev/images/programming/ruby.svg" width="20" height="20"> **[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)** | <img src="https://www.selenium.dev/images/programming/javascript.svg" width="20" height="20"> **[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)** <br> <!-- Release notes generated using configuration in .github/release.yml at da2039bd1456a161d0c284de16f9f4f179f1e8ca --> ## What's Changed <details> <summary>Click to see all the changes included in this release</summary> * fix(documentation): update artifact naming for generated docs by @diemol in SeleniumHQ/selenium#17332 * fix(ruby): retrieve devtools version dynamically for package verification by @diemol in SeleniumHQ/selenium#17335 * [dotnet] Don't truncate internal log messages at error/warn levels by @nvborisenko in SeleniumHQ/selenium#17333 * [dotnet] Safe modifications of internal log handlers by @nvborisenko in SeleniumHQ/selenium#17334 * [dotnet] Remove planned obsoleted members for 4.44 by @nvborisenko in SeleniumHQ/selenium#17328 * [dotnet] [bidi] Statically declare commands by @nvborisenko in SeleniumHQ/selenium#17330 * [dotnet] [bidi] Statically declared events by @nvborisenko in SeleniumHQ/selenium#17331 * [dotnet] Add C# 14 extension to polyfill `ArgumentNullException.ThrowIfNull` by @RenderMichael in SeleniumHQ/selenium#16697 * [dotnet] [bidi] Align SetDownloadBehavior command by @nvborisenko in SeleniumHQ/selenium#17336 * [dotnet] [bidi] Align ContinueWithAuth command by @nvborisenko in SeleniumHQ/selenium#17337 * [dotnet] [bidi] Align SetGeolocation polymorphic command by @nvborisenko in SeleniumHQ/selenium#17338 * [dotnet] [test] In-process test webserver by @nvborisenko in SeleniumHQ/selenium#17339 * [java] deprecate the 'native' methods inside the HttpClient interface by @joerg1985 in SeleniumHQ/selenium#17340 * CDDL 2 Python generator by @AutomatedTester in SeleniumHQ/selenium#16914 * Fix py:local_dev rake task by @cgoldberg in SeleniumHQ/selenium#17342 * [grid] Accept legacy session-closed event payloads by @VietND96 in SeleniumHQ/selenium#17343 * [java] specify nullability in package `org.openqa.selenium.remote` by @asolntsev in SeleniumHQ/selenium#17325 * fix NPE when response status is null by @asolntsev in SeleniumHQ/selenium#17348 * [java] fix NoSuchElementException for custom By locators by @Chandan25sharma in SeleniumHQ/selenium#17287 * [py] Update docs with pytest example and minor formatting fixes by @cgoldberg in SeleniumHQ/selenium#17351 * [dotnet] Fix stopping of network monitoring via DevTools by @nvborisenko in SeleniumHQ/selenium#17352 * [dotnet] [test] Update tests to target .NET 10 by @nvborisenko in SeleniumHQ/selenium#17353 * [build] Clean extra tools from GHA runner to free disk space by @cgoldberg in SeleniumHQ/selenium#17360 * Initial Creation of the Selenium CLI Tool by @AutomatedTester in SeleniumHQ/selenium#17327 * [java] fix some nullability warnings by @asolntsev in SeleniumHQ/selenium#17362 * [py] Use generated Bidi files instead of hand curated ones by @AutomatedTester in SeleniumHQ/selenium#17266 * [docs] Add AI-assisted contribution policy by @titusfortner in SeleniumHQ/selenium#17043 * [Agents] Update agents to make sure do linting. by @AutomatedTester in SeleniumHQ/selenium#17366 * [py] Bump dependencies by @cgoldberg in SeleniumHQ/selenium#17368 * [git] update gitignore to exclude mempalace by @AutomatedTester in SeleniumHQ/selenium#17369 * [java] remove field `ChromiumDriver.capabilities` by @asolntsev in SeleniumHQ/selenium#17363 * [spec] Use http_file for the cddl files by @AutomatedTester in SeleniumHQ/selenium#17372 * [dotnet] [bidi] Obsolete Type(string) method in Input module by @nvborisenko in SeleniumHQ/selenium#17377 * Fix Network failures by @AutomatedTester in SeleniumHQ/selenium#17381 * [java] [test] Unignore bidi network conditions tests for Firefox by @nvborisenko in SeleniumHQ/selenium#17385 * [dotnet] [test] Unignore network conditions tests for Firefox by @nvborisenko in SeleniumHQ/selenium#17386 * [dotnet] [test] Migrate to MTP by @nvborisenko in SeleniumHQ/selenium#17384 * [dotnet] Support `UnhandledPromptBehavior` option as string and map (breaking change) by @nvborisenko in SeleniumHQ/selenium#16557 ... (truncated) Commits viewable in [compare view](SeleniumHQ/selenium@selenium-4.43.0...selenium-4.44.0). </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
🔗 Related Issues
💥 What does this PR do?
Deletes all the hand curated bidi code in the python tree and uses the generated code created in #16914 . Once that PR is approved we can merge this into there or do it into trunk as a 2nd PR. #16914 MUST BE FIRST INTO TRUNK
🔧 Implementation Notes
💡 Additional Considerations
🔄 Types of changes