Comments (17)
Thanks to the above posters I am now using the following script to detect the version of Chrome and install the correct version of Chromedriver, this should follow the official version selection algorithm:
CHROME_VERSION=$(google-chrome --version | sed -r 's/[^0-9]+([0-9]+\.[0-9]+\.[0-9]+).*/\1/g')
CHROMEDRIVER_VERSION=$(curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION)
bundle exec chromedriver-update $CHROMEDRIVER_VERSION
from chromedriver-helper.
We temporarily worked around this issue by manually installing the right version:
In .travis.yaml
before_script:
- bundle exec chromedriver-update 2.46
from chromedriver-helper.
Hi. (This is an off-topic from the issue title, but may help someone.)
We got similar test failure on our tests and found a solution for us.
We have options.add_argument('--disable-dev-shm-usage')
option in our spec helper once we set up our system spec, which runs on Docker on CircleCI.
Then I found
https://github.com/SeleniumHQ/docker-selenium#running-the-images today
This is a known workaround to avoid the browser crashing inside a docker container, here are the documented issues for Chrome and Firefox.
So I dropped the option, then our tests success 🎉
If your config has same option, try it on.
Thanks.
from chromedriver-helper.
Our specs have started to fail too:
Selenium::WebDriver::Error::SessionNotCreatedError:
session not created: This version of ChromeDriver only supports Chrome version 74
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 4.15.0-1026-gcp x86_64)
from chromedriver-helper.
On Codeship, I was getting a This version of ChromeDriver only supports Chrome version 74
error, fixed for me by adding the following to my build steps:
export CHROMEDRIVER_VERSION=73.0.3683.68
\curl -sSL https://raw.githubusercontent.com/codeship/scripts/master/packages/chromedriver.sh | bash -s
bundle exec chromedriver-update $CHROMEDRIVER_VERSION
from chromedriver-helper.
@starsirius We've been getting the same error as of today. Please keep us posted, I'll be watching this issue.
from chromedriver-helper.
Updating Chromedriver to 73.0.3683.68 didn't resolve the issue. Still getting the same error. Looks like people have reported similar incompatibility issue.
Selenium::WebDriver::Error::WebDriverError:
chrome not reachable
(Session info: headless chrome=73.0.3683.75)
(Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Linux 4.10.0-35-generic x86_64)
from chromedriver-helper.
Our specs have started to fail. An example of a solution with CircleCI:
- run:
name: Install Fixed Version ChromeDriver
command: |
rm -rf $HOME/.chromedriver-helper
bundle exec chromedriver-update 73.0.3683.68
from chromedriver-helper.
@moro This fixed the issue for us as well, thanks so much!
from chromedriver-helper.
Here's a script that finds the right version of Chromedriver for the version of Chrome installed locally: https://gist.github.com/seanlinsley/36a204862f08942b0667e941331f3a75. It works both on Ubuntu and MacOS.
I would open a PR for this gem, but it's not clear to me why GoogleCodeParser
is using Gem::Version
for comparisons. Is there some extra history to this logic?
chromedriver-helper/lib/chromedriver/helper/google_code_parser.rb
Lines 25 to 27 in 5508af7
chromedriver-helper/lib/chromedriver/helper/google_code_parser.rb
Lines 36 to 38 in 5508af7
There's also the question of whether downloads
(which does XML parsing) is still needed, or if it could rely on the LATEST_RELEASE_#{version}
API instead.
from chromedriver-helper.
@seanlinsley do you have a fork we can use to test this with?
from chromedriver-helper.
I don't have a fork at the moment, but you can copy that code into your project to test (I put it in spec/support/chromedriver.rb
)
from chromedriver-helper.
A PR would be very welcome here, I don't know that I'll have the opportunity to look into this before the weekend.
from chromedriver-helper.
@seanlinsley you asked
I would open a PR for this gem, but it's not clear to me why
GoogleCodeParser
is usingGem::Version
for comparisons. Is there some extra history to this logic?
Yes, Gem::Version
is an object that implements #<=>
to sort version strings as you'd expect (as opposed to lexicographical sort), so we can, for example, call #max
on an Array and get the latest version. So it seems like it's not needed in your gist.
from chromedriver-helper.
I'd also like to point everyone at #78 in which I point out some risks around an implementation like the one suggested by @seanlinsley, mainly, that the name and location of the chrome/chromium binary may not be obvious to find and may therefore be problematic in and of itself.
from chromedriver-helper.
We temporarily worked around this issue by manually installing the right version:
In
.travis.yaml
before_script: - bundle exec chromedriver-update 2.46
We are using codeship to run our builds, and this answer fixed our problem for Ruby on Rails.
ioquatix, thank you.
from chromedriver-helper.
I'm going to close this issue, as the gem is being deprecated in favor of webdrivers, see #83.
from chromedriver-helper.
Related Issues (20)
- unknown error: call function result missing 'value' for Selenium Send Keys even after chromedriver upgrade HOT 1
- Chromedriver picks up wrong version HOT 13
- chromedriver-helper breaks projects not using it HOT 20
- No options to set log log-level and log-path HOT 6
- Using with Rails: "uninitialized constant Selenium" HOT 5
- Use LATEST_RELEASE file rather than guessing HOT 8
- Chromedriver helper downloading weird chromedriver version number HOT 2
- NameError: uninitialized constant Chromedriver in rails & rspec config HOT 5
- Mention "require" in README? HOT 3
- certificate verify failed (self signed certificate in certificate chain) (OpenSSL::SSL::SSLError) HOT 9
- Not executable: chromedriver-helper HOT 1
- No output with 'which chromedriver' after installing 2.1.0 HOT 3
- Not working in rspec (calling in rails_helper.rb) HOT 1
- Can't get this working in trivial case HOT 7
- Allow setting an environment variable to skip installation, for systems on which a compatible chromedriver is already installed HOT 11
- Use a compatible version of chromedriver HOT 8
- Seeking new maintainer HOT 16
- Doc question HOT 1
- NOTICE: Ending support for this gem HOT 15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chromedriver-helper.