Git Product home page Git Product logo

Comments (8)

njt1982 avatar njt1982 commented on September 23, 2024 6

@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.

flavorjones avatar flavorjones commented on September 23, 2024

@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.

cbandy avatar cbandy commented on September 23, 2024

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.

  1. 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.)

  2. 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.

flavorjones avatar flavorjones commented on September 23, 2024

@cbandy 👍 I will try to clarify this behavior in the README.

from chromedriver-helper.

longwave avatar longwave commented on September 23, 2024

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.

flavorjones avatar flavorjones commented on September 23, 2024

@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.

flavorjones avatar flavorjones commented on September 23, 2024

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.

flavorjones avatar flavorjones commented on September 23, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.