Comments (8)
@flavorjones I disagree... this gem appears to be "blindly" installing the latest version of chrome driver (Which is 74 right now) along with the latest stable version of Chrome (currently 73, 74 not due to stable for 41 days).
There is another issue (#79 ) which touches on a similar point of version matching.
from chromedriver-helper.
@cbandy Thanks for raising this suggestion.
Can you help me understand why pinning to a compatible version on your dev system wouldn't be a sufficient solution for you? Just trying to understand the full context of the challenge you're seeing.
This seems like a reasonable use case to cover, but since this could be addressed today by pinning to a specific version on your system, I would like to take a moment to explore the complexity of the suggested solution, and ask for help from someone who is feeling this pain today.
The suggested solution would need to take into account a few different configuration dimensions:
- detect chromium, or chrome from any of the available channels (all of which have different executable names)
- work on windows, macs, and linux, each of which have non-overlapping directories in which the executables could be installed
- if there are multiple versions of chrom{ium,e} available, be clear about which should be the one to pay attention to
My experience has been that implementing something like this ends up being a game of proverbial whack-a-mole, with new unexpected configurations of development systems being raised as bugs, and so I'm extremely hesitant to go in this direction.
That said, if someone is willing to work with me on this approach, I'd be willing to consider a PR along these lines. Please let me know if you're willing to put in some time with me.
from chromedriver-helper.
Can you help me understand why pinning to a compatible version on your dev system wouldn't be a sufficient solution for you?
It does resolve the errors. My feature request here is that chromedriver-helper not introduce the errors.
The suggested solution would need to take into account a few different configuration dimensions:
- detect chromium, or chrome from any of the available channels (all of which have different executable names)
- work on windows, macs, and linux, each of which have non-overlapping directories in which the executables could be installed
- if there are multiple versions of chrom{ium,e} available, be clear about which should be the one to pay attention to
I assumed that because I did not specify these paths or choices in my configuration something was already doing this detection already. I see now that it happens within chromedriver itself.
That said, if someone is willing to work with me on this approach, I'd be willing to consider a PR along these lines. Please let me know if you're willing to put in some time with me.
I'm afraid my expertise is not in the relationship between Selenium, chrom{ium,e}, and chromedriver. For myself, I think I would be satisfied with some guidance in this project's documentation.
-
I did not expect the latest release of chromedriver to be installed. Some indication of this behavior might have made me think to pin the version I was using. (I mistakenly thought my environment was stable.)
-
Perhaps a mention of the specific error with a recommendation to pin? Or the merits of pinning more generally... (grasping here.)
While looking at chromedriver, I noticed that the executable only recently provides an indication of which version it supports.
from chromedriver-helper.
@cbandy 👍 I will try to clarify this behavior in the README.
from chromedriver-helper.
The chromedriver documentation seems to have recently changed, it looks like the major version of chromedriver must match the version of Chrome now - since Chrome/chromedriver 73 there is no mention of an overlap where different versions of Chrome are supported simultaneously. I have an environment running Chrome 72 that has downloaded chromedriver 73 via chromedriver-helper and it mostly works but a couple of tests appear to crash Chrome; I will try upgrading Chrome to see if that solves the issue.
http://chromedriver.chromium.org/downloads/version-selection has an algorithm that perhaps chromedriver-helper should follow to download the correct version of chromedriver?
from chromedriver-helper.
@longwave I think you're asking for a broader change which requires introspection on your system to determine what versions of chromedriver are compatible ... can you please open a new issue about that?
from chromedriver-helper.
Hey all, as I mentioned on Feb 7, I'm open to a PR for this but I have concerns about the likely incompleteness of the proposed solutions. Happy to work with someone, but I honestly don't think I'll be able to get to this for at least a few days.
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
- Version selection with LATEST_RELEASE is deprecated HOT 17
- 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.