Skip to content

Add more chromedriver version-selection options #2036

Closed
@mdmintz

Description

@mdmintz

Add more chromedriver version-selection options

Eg.

sbase get chromedriver stable
sbase get chromedriver latest

sbase get chromedriver previous
sbase get chromedriver latest-1

sbase get chromedriver beta

sbase get chromedriver dev

sbase get chromedriver canary

Example of output: (If run today, where the latest beta is 117.0.5938.22)

> sbase get chromedriver beta

*** chromedriver to download = 117.0.5938.22 (Latest Beta) 

Downloading chromedriver-mac-arm64.zip from:
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/117.0.5938.22/mac-arm64/chromedriver-mac-arm64.zip ...
Download Complete!

Extracting ['chromedriver'] from chromedriver-mac-arm64.zip ...
Unzip Complete!

The file [chromedriver] was saved to:
/Users/michael/github/SeleniumBase/seleniumbase/drivers/chromedriver

Making [chromedriver 117.0.5938.22] executable ...
[chromedriver 117.0.5938.22] is now ready for use!

Those options can also be used directly with tests: (Default browser is chrome)

pytest --driver-version=stable
pytest --driver-version=latest

pytest --driver-version=previous
pytest --driver-version=latest-1

pytest --driver-version=beta

pytest --driver-version=dev

pytest --driver-version=canary

Additionally, there is also --driver-version=mlatest for tests, which first detects the major version of the browser, and then makes sure that the latest driver for that milestone is installed. Otherwise, if the major browser version matches the major driver version (eg. 117.* and 117.*), then no new driver is downloaded, even if the driver version is not the latest version for that milestone.

pytest --driver-version=mlatest

Also note that using these options will guarantee a call to https://googlechromelabs.github.io/chrome-for-testing/latest-versions-per-milestone.json during tests. If you need to run tests offline, don't use these options, and make sure that the major driver version already matches the major browser version.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions