[py][SM] Collect language version data in Selenium Manager#17591
Open
AutomatedTester wants to merge 3 commits into
Open
[py][SM] Collect language version data in Selenium Manager#17591AutomatedTester wants to merge 3 commits into
AutomatedTester wants to merge 3 commits into
Conversation
Adds --language-version CLI flag to Selenium Manager so language bindings can report their runtime version in telemetry. Python passes its major.minor version (e.g. 3.12) to enable data-informed decisions about language version deprecation (see issue #16731).
The --language-version flag exists in the Rust SM binary when compiled from source, but the pinned pre-compiled binary (selenium-manager-f6318a4) in common/selenium_manager.bzl predates this change and rejects the flag. Will re-add the Python arg in a follow-up once selenium_manager.bzl is re-pinned to a binary that includes this flag.
Member
|
This PR will not close 16731, that is supposed to track all bindings, not just rust. Also, this is a duplicate of #16733 |
Member
|
50 cents: we will start to collect some data (in .NET it is even not related to language version). Then what? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--language-versionCLI flag to Selenium Manager (Rust) to accept the runtime version of the invoking language bindingManagerConfig, theSeleniumManagertrait, and into thePropsstruct sent to Plausible.io telemetrylang_versionis part of the cache key (avoiding duplicate submissions)Closes #16731
Deferred: Python binding arg
The Python
--language-versionarg is not included in this PR. The pre-compiled pinned binary incommon/selenium_manager.bzl(selenium-manager-f6318a4) predates this change and rejects the flag witherror: unexpected argument '--language-version' found. Passing it would break all RBE tests.Follow-up steps:
bazel run scripts:selenium_managerto rebuild and re-pin the binary incommon/selenium_manager.bzl--language-version {major}.{minor}topy/selenium/webdriver/common/selenium_manager.py(and other bindings)Test plan
bazel build //rust:selenium-manager— passesbazel test //rust:unit— 14/14 passbazel test //py:unit— 27/27 passlang_versionproperty after a real browser session--language-versionin follow-up PRsNotes
The flag is optional in Rust — if not supplied,
lang_versiondefaults to an empty string, preserving backwards compatibility.