-
-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Open
Labels
I-enhancementSomething could be betterSomething could be better
Milestone
Description
Feature and motivation
Right now, to run tests on electron apps, it pretty much requires a JavaScript dev environment. Electron versions are defined in the development directory, and npm is used to install the correct version of chromedriver via electron-chromedriver.npm
So the proposal is:
- Create an
ElectronOptions
class that is a subclass ofChromiumOptions
, where the browser name iselectron
. - Create an
ElectronDriver
class that requires an ElectronOptions argument, and errors if the binary has not been set - Create an
ElectronService
in case the user wants to specify the location of the chromedriver (maybe?) - Selenium Manager downloads the driver from https://github.com/electron/electron/releases based on the specified version, or gets the latest. I think we should not try to automatically determine the version of the electron app; the app is bundled with a specific runtime version but it appears to be quite challenging to actually surface the version of it.
Usage example
ElectronOptions options = new ElectronOptions();
options.browserVersion = "29.0";
options.binary = "/path/to/electron/app";
ElectronDriver driver = new ElectronDriver(options);
radmorecameron, Methuselah96 and 3255834892
Metadata
Metadata
Assignees
Labels
I-enhancementSomething could be betterSomething could be better
Type
Projects
Status
In Progress