Skip to content

[rust] Improve SM error messages when browser/driver version not found#17584

Merged
AutomatedTester merged 1 commit into
trunkfrom
worktree-sm-better-error-messages-17555
May 29, 2026
Merged

[rust] Improve SM error messages when browser/driver version not found#17584
AutomatedTester merged 1 commit into
trunkfrom
worktree-sm-better-error-messages-17555

Conversation

@AutomatedTester
Copy link
Copy Markdown
Member

@AutomatedTester AutomatedTester commented May 27, 2026

Summary

Closes #17555

When Selenium Manager cannot resolve a requested browser or driver version, the previous error messages were generic and gave users no guidance on where to find valid versions. This PR adds per-browser links to canonical version lists in all relevant error paths.

Changes per browser/driver:

  • Chrome / chromedriver: Link to https://googlechromelabs.github.io/chrome-for-testing/ (already a constant CFT_URL)
  • Firefox (browser): Link to https://www.mozilla.org/en-US/firefox/releases/
  • geckodriver: Link to https://github.com/mozilla/geckodriver/releases/ (already a constant DRIVER_URL)
  • Edge: Link to https://developer.microsoft.com/microsoft-edge/webdriver/
  • IEDriverServer: Link to https://github.com/SeleniumHQ/selenium/releases/ (already a constant DRIVER_URL)

Example before:

chrome 999.0 not available for download
Unable to discover firefox 999 in online repository

Example after:

chrome 999.0 not available for download. Check available versions at https://googlechromelabs.github.io/chrome-for-testing/
Unable to discover firefox 999 in online repository. Check available versions at https://www.mozilla.org/en-US/firefox/releases/

Implementation approach:

  • Added get_browser_versions_url() default trait method (returns "") to SeleniumManager
  • Each browser manager overrides it with its canonical URL
  • throw_error_message() appends the URL when non-empty (used by unavailable_download() and unavailable_discovery())
  • download_browser() in lib.rs also appends the URL to the minimum-version error
  • geckodriver and IEDriverServer "not found" errors updated directly since they don't go through throw_error_message

Test plan

  • //rust:unit passes
  • 17/19 integration tests pass; 2 failures (integration_browser_download_tests_test, integration_stable_browser_tests_test) are pre-existing network-dependent download tests unrelated to this change

…ound

Add per-browser links to canonical version lists in error messages so
users know where to find valid versions when a lookup fails.
@selenium-ci selenium-ci added C-rust Rust code is mostly Selenium Manager B-manager Selenium Manager labels May 27, 2026
@AutomatedTester AutomatedTester merged commit 50613c2 into trunk May 29, 2026
69 checks passed
@AutomatedTester AutomatedTester deleted the worktree-sm-better-error-messages-17555 branch May 29, 2026 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-manager Selenium Manager C-rust Rust code is mostly Selenium Manager

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[🚀 Feature]: SM better error messages for versions not found

3 participants