-
Notifications
You must be signed in to change notification settings - Fork 116
Workaround for wrong chromedriver version #353
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
Comments
Same issue here. I now force the job to use a static version (2.46) as workaround, but it's not ideal. |
Is there an implicit assumption here that Google will not publish a beta version of chromedriver to this list [1]? If this assumption is reality, I think this is on Google. [1] https://chromedriver.storage.googleapis.com/ |
Here are some observations:
I suspect the protractor 6.0.0 and webdriver-manager 13.0.0 both have some issues. |
@21stChannel Thanks for update, I was able to do the same ugly workaround to unblock my integration with Protractor 6.0:
|
So the intent was to always download the latest. This was the case in the previous webdriver-manager. It only downloaded the latest 2.xx version because of a regex error. After two years of this being the case, it appears ChromeDriver released something that does not align with Chrome. Anyway, we were discussing a new feature prior to the ChromeDriver-gate issue we are seeing. We were proposing to
Yes the workaround is to pin the version for chromedriver. I had to do this for the Protractor repo. This is unfortunately the solution / workaround for now until Chrome 74 is released. |
Speaking of getting things to work, I tagged the latest Protractor to 5.4.2 since that version is pretty stable. That means, webdriver-manager will be at version 12-something. Maybe Chrome 74 will drop when I get these fixes in. |
I also did that workaround to pin the ChromeDriver v73 to be downloaded. thanks @cnishina for the update 🙂 |
Maybe we can add something to the readme file? I think this could be helpful since it is maybe something that could be fixed in the future but I don't think there is bandwidth right now to take this on. @carlos-gva would you mind updating the README? |
@cnishina done. |
Adding some additional information about why webdriver-manager is doing what its doing:
From webdriver-manager's point of view, we would have to know the version of Chrome on the current working machine. I'm not 100% sure how to get this information from each machine programatically. |
Getting this info from each machine seems to be really tricky and probably does not deserve that effort. |
An additional issue is that protractor 5.4.2 only works with webdriver-manager 12.1.1 and not with version 13.0.0. For this, you can only use chromedriver up to version 2.46, which only provides support for Chrome v71-73. This means, as soon as Chrome v74 is released, you cannot work with the latest Chrome version anymore using protractor 5.4.2. |
- 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.
Hi all, [15:18:40] I/local - Starting selenium standalone server... Any idea what could cause this? |
Is that information correct ? However, right now i can see that 2.47 is available, but 12.1.1 doesn't download it |
Same here:
|
So has anyone downloaded the latest Chrome version 74.0.3729.108 and is anyone facing the same issue? I'm at a loss as to what to do with this error:
|
In my case when running:
It was downloading:
instead of:
The issue is fixed using: webdriver-manager 12.1.2 Instead of: webdriver-manager 12.1.1 |
@santiago-pan Yes that is true. The latest fix is 12.1.4 which fixes the downloading for chromedriver |
@cnishina thanks a lot for looking into this. I finally managed to make it work again by downgrading to protractor 5.4.2, but here's how it looked:
This is the error I was getting:
Now that I downgraded protractor it works fine as it downloads Chromedriver_2.46 and selenium standalone server 3.141.59. |
@barbara Hi, I had the same problem and this worked for me. In protractor.conf, use:
|
@barbara Well... you can of course choose the version of chromedriver by specifiying |
@barbara Unfortunately, if you want to run in parallel, there's a bug in multiCapabilities that prevents you from doing so in 6.0.0. This is currently preventing me from upgrading :( |
Has anyone had this issue using the selenium grid and not protractor? I am getting the same thing "Host header or origin header is specified and is not localhost." and using:
I don't understand where to put this loopback property if I am not using protractor. |
@smt9020 If I understand correctly, chromedriver only allows localhost or ip addresses. So something like this may work: |
- 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.
Closed with #369 This has now been addressed for both legacy and master branches |
I wrote a script which uses powershell to get the version of chrome which is installed. (Windows only) Use at own risk of course:
|
I noticed that when using the
webdriver-manager update
command it downloads the Chromedriver v74.x.x and it only runs with the Chrome v74, which I don't have on my machine yet because the latest Chrome stable version is v73.So, this stopped working...
Why this started to download and apply this chromedriver versions?
The text was updated successfully, but these errors were encountered: