Skip to content
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

[Feature] Remove driver assemblies from the module #207

Open
alaurie opened this issue Mar 3, 2021 · 5 comments
Open

[Feature] Remove driver assemblies from the module #207

alaurie opened this issue Mar 3, 2021 · 5 comments

Comments

@alaurie
Copy link
Contributor

alaurie commented Mar 3, 2021

Would it be an idea to remove the drivers from the module, this would reduce the size of the module and any complexity around keep them up to date between module versions. I think it would be better to just look for the drivers on the path and if not there advise they need to be present on the path. We could an an entry into the wiki for installation on the various platforms.

I'm just thinking long term it would be beneficial to reduce the complexity of the module to make it easier for people to chip with PR's etc.

@vexx32
Copy link
Contributor

vexx32 commented Mar 3, 2021

If we're going to remove drivers from the module itself, I think it's only sensible to make sure the module is capable of retrieving and installing/updating necessary drivers first. I may be behind here, but doesn't it currently only have this capability for Chromium drivers?

@alaurie
Copy link
Contributor Author

alaurie commented Mar 3, 2021

Currently it does yes. But I think longer term its better to leave it to the end user to ensure whichever driver they want to use is installed and available on the path. This was they can keep them updated or at a certain level as they want if there is a particular version if they want.

Windows: Chocolatey/Scoop
Linux: distro package manager
OSX: Homebrew

@itfranck
Copy link
Collaborator

itfranck commented Mar 7, 2021

I like the idea.
Drivers are a problem with this module for the longest time.
It was discussed about possibly having a pipeline to download the latest drivers and publish a new version of the module (#50) or thinking about ways to deal with it but...

I don't think this should be the responsibility of this module.
This module is about providing an interface to automate browser interactions through Selenium.

The products implicated here (Browsers and Selenium Drivers) evolves a lot quicker than this module.
They are also tightly coupled as you can't be far behind and using an old driver with a new browser won't work.

That being said, before decoupling anything, we'd need:

  • Documentation to give the user basic instructions (eg: use package provider or go to website (links))
  • Update Update-SeModule to include automated download of the drivers (Currently only Chrome)
  • throw an error if the driver is not found (eg: The driver for Chrome was not found. Use Update-SeModule to download it, specify a path in Start-SeDriver or read the doc at : XX to get started with downloading and installing the drivers)

@jgeron-suhsd
Copy link

I've had this issue with a scheduled script, that it will break periodically because Chrome updates. Would be great to at least have a better guide on the steps to take when the driver isn't compatible with the current version of chrome.

@alaurie
Copy link
Contributor Author

alaurie commented Mar 13, 2021

I can write a wiki article for driver installs on Win10, Linux and OSX. That's no problem. Then it's just a case of creating a path check function for the module to use to check the specified driver is on the path and fail if not.

@alaurie alaurie changed the title Remove driver assemblies from the module [Feature] [Feature] Remove driver assemblies from the module Mar 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants