-
Notifications
You must be signed in to change notification settings - Fork 116
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
Use Chromium's available versions to find the stable version of ChromeDriver #280
Comments
You could pass flags to control the versions being downloaded. Also this is well documented in the repo. I'm not exactly sure what this extra layer would do. It is not clear how this issue could be turned into a feature. |
I think a webdrivermanager.json could be interesting. Kind of like freezing the dependencies like a npm lock on binaries. I do not have the bandwidth to get this done any time soon... |
Exactly. Is tempting to look, but I'd prob hesitate to take a stab @ a PR w/o some suggested direction from anyone more core to the project. |
This seems reasonable to read a file and use this file for versions. Maybe this could also be tied into pinning a version. So webdriver-manager might have a default version json file (at least to pin chromedriver to the version 73) and a user can define their own webdriver-manager json file. When 74 is released, we will need to remove the pinned version from the repo and let users define their own json file. This could just be used just in case we run into the current chrome + chromedriver version mismatch. |
From a previous comment in #306:
|
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging angular#280, angular#358, angular#353. Additional work is still required to have a config file that has this information instead of hard coding it.
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging angular#280, angular#358, angular#353. Additional work is still required to have a config file that has this information instead of hard coding it.
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging angular#280, angular#358, angular#353. Additional work is still required to have a config file that has this information instead of hard coding it.
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Added a unit test to the version_list to find max versions. - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging angular#280, angular#358, angular#353. Additional work is still required to have a config file that has this information instead of hard coding it.
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Added a unit test to the version_list to find max versions. - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging angular#280, angular#358, angular#353. Additional work is still required to have a config file that has this information instead of hard coding it.
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Added a unit test to the version_list to find max versions. - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging angular#280, angular#358, angular#353. Additional work is still required to have a config file that has this information instead of hard coding it.
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Added a unit test to the version_list to find max versions. - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging angular#280, angular#358, angular#353. Additional work is still required to have a config file that has this information instead of hard coding it.
- Do a version match based on string startsWith of the maxVersion An example: Matching "0.1" might find versions 0.14.0, 0.151.0, 0.1.0. It will then get the max version which is 0.151. If a user wanted to get 0.1, then they could specify version "0.1." - Added a unit test to the version_list to find max versions. - Fix / update interchangable aliases: - selenium == standalone - chromedriver == chrome - geckodriver == gecko - iedriver = ie Tagging #280, #358, #353. Additional work is still required to have a config file that has this information instead of hard coding it.
I like having a configuration code in the repo but I also think it could be high maintenance. I just needed to release of the legacy branch to 12.1.5 because Chrome 75 came out. Maybe we could think of a better way to do this. |
New idea.... we download the Chromium information, find the smallest version which (I think) is the stable version. So then we can download that ChromeDriver which should match most peoples Chrome versions. So that's probably what should happen here and we should document this so this is no longer a big issue. Still should be marked as P0 although the action item is different. Will update the title. |
Closing this bug in favor of #410. I might have duplicated the bug and plan to keep the latest since it has some work there. |
It would be most helpful if configuration could be committed to code (and then version control). Simply put, I'd like to be able to assert versions in
package.json
or awebdrivermanager.json
config file. Runningwebdriver-manager update
& getting whatever drivers & version of selenium happens to install is concerning as it makes it difficult to trust the e2e setup (did a version change, or was it a test flake?). I realize you can pass flags towebdriver-manager
. Thats a good start, but perhaps one more layer of polish?The text was updated successfully, but these errors were encountered: