webdriverextensions:install-drivers
Full name:
com.github.webdriverextensions:webdriverextensions-maven-plugin:4.0.0:install-drivers
Description:
Download and install WebDriver drivers.
Attributes:
- Requires a Maven project to be executed.
- The goal is not marked as thread-safe and thus does not support parallel builds.
- Binds by default to the lifecycle phase:
generate-sources
. - Requires that Maven runs in online mode.
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<downloadConnectTimeout> |
int |
3.3.0 |
Determines the timeout in seconds until a new connection is fully established.
A timeout value of zero is interpreted as an infinite timeout. Default: 30 User Property: webdriverextensions.download.connectTimeout |
<downloadMaxRetries> |
int |
3.3.0 |
Number of retry attempts to download a driver.
A value of zero means no retries. Retriable HTTP status codes are 429 and 503. Retries may also happen for the following exceptions:
Default: 3 User Property: webdriverextensions.download.maxRetries |
<downloadResponseTimeout> |
int |
3.3.0 |
Determines the timeout in seconds until arrival of a response from the download host.
A timeout value of zero is interpreted as an infinite timeout. Default: 1800 User Property: webdriverextensions.download.responseTimeout |
<downloadRetryDelay> |
int |
3.3.0 |
retry interval in seconds between subsequent retries. The interval must not be greater than downloadResponseTimeout otherwise no retry attempt will be made at all!Default: 3 User Property: webdriverextensions.download.retryDelay |
<drivers> |
List<Driver> |
- |
List of drivers to install. Each driver has a name, platform, bit, version and URL that can be provided.
If no drivers are provided the latest drivers will be installed for the running platform and the bit version will be chosen as if it has not been provided (see rule below). If no platform is provided for a driver the platform will automatically be set to the running platform. If no bit version is provided for a driver the bit will automatically be set to 32 if running the plugin on a windows or mac platform. However if running the plugin from a linux platform the bit will be determined from the OS bit version. If the driver is not available in the repository the plugin does not know from which URL to download the driver. In that case the URL should be provided for the driver. The default repository with all available drivers can be found here. Some Examples Installing all latest drivers <drivers> <driver> <name>chromedriver</name> <platform>windows</platform> <bit>32</bit> </driver> <driver> <name>chromedriver</name> <platform>mac</platform> <bit>32</bit> </driver> <driver> <name>chromedriver</name> <platform>linux</platform> <bit>32</bit> </driver> <driver> <name>chromedriver</name> <platform>linux</platform> <bit>64</bit> </driver> <driver> <name>internetexplorerdriver</name> <platform>windows</platform> <bit>32</bit> </driver> <driver> <name>internetexplorerdriver</name> <platform>windows</platform> <bit>64</bit> </driver> </drivers> Installing a driver not available in the repository, e.g. PhantomJS <driver> <name>phanthomjs</name> <platform>mac</platform> <bit>32</bit> <version>1.9.7</version> <url>http://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-macosx.zip</url> </driver> |
<installationDirectory> |
File |
- |
The path to the directory where the drivers are going to be installed. Default: ${basedir}/drivers User Property: webdriverextensions.installDirectory |
<keepDownloadedWebdrivers> |
boolean |
2.0.0 |
Keep downloaded files as local cache.
If set to true , one should also provide a known and non-random value for pluginWorkingDirectory !Default: false User Property: webdriverextensions.download.keepFiles |
<pluginWorkingDirectory> |
File |
3.3.0 |
The working directory where downloaded drivers will be saved until they are moved to installationDirectory .
This defaults to a random temporary directory prefixed with webdriverextensions-maven-pluginbelow the default temporary-file directory ( java.io.tmpdir ).User Property: webdriverextensions.workingDirectory |
<proxyId> |
String |
1.1.0 |
The id of the proxy to use if it is configured in settings.xml. If not provided the first active proxy in settings.xml will be used. User Property: webdriverextensions.proxyId |
<repositoryUrl> |
URL |
- |
URL to where the repository file is located. The repository file is a json file containing information of available drivers and their locations etc. Supported protocols are: http, https and file. The content of the file must validate against the drivers repository JSON schema. Default: https://raw.githubusercontent.com/webdriverextensions/webdriverextensions-maven-plugin-repository/master/repository-3.0.json User Property: webdriverextensions.repoUrl |
<setWebdriverPath> |
boolean |
3.3.0 |
Sets the webdriver properties with the path to the downloaded/installed drivers.
This setting should not be used if these properties are set elsewhere (e.g. with "systemPropertyVariables") because they will be overwritten! For custom defined drivers: the driver name should start with one of the known prefixes ("chrome", "chromium", "edge", "firefox", "gecko", "opera", "internetexplorer"), otherwise the plugin will not know which property to set. Default: false User Property: webdriverextensions.setWebdriverPath |
<skip> |
boolean |
- |
Skips installation of drivers. Execution will also be skipped if one of the following properties is true :
Default: false User Property: webdriverextensions.skip |
<skipIgnore> |
boolean |
3.3.0 |
Do not skip execution even if one of the skip-properties (see skip ) is true . This is useful for downloading drivers even when test execution is skipped.Default: false User Property: webdriverextensions.skipIgnore |
Parameter Details
<downloadConnectTimeout>
Determines the timeout in seconds until a new connection is fully established.
A timeout value of zero is interpreted as an infinite timeout.
A timeout value of zero is interpreted as an infinite timeout.
- Type:
int
- Since:
3.3.0
- Required:
No
- User Property:
webdriverextensions.download.connectTimeout
- Default:
30
<downloadMaxRetries>
Number of retry attempts to download a driver.
A value of zero means no retries.
Retriable HTTP status codes are 429 and 503.
Retries may also happen for the following exceptions:
A value of zero means no retries.
Retriable HTTP status codes are 429 and 503.
Retries may also happen for the following exceptions:
- InterruptedIOException
- UnknownHostException
- ConnectException
- ConnectionClosedException
- NoRouteToHostException
- SSLException
- Type:
int
- Since:
3.3.0
- Required:
No
- User Property:
webdriverextensions.download.maxRetries
- Default:
3
<downloadResponseTimeout>
Determines the timeout in seconds until arrival of a response from the download host.
A timeout value of zero is interpreted as an infinite timeout.
A timeout value of zero is interpreted as an infinite timeout.
- Type:
int
- Since:
3.3.0
- Required:
No
- User Property:
webdriverextensions.download.responseTimeout
- Default:
1800
<downloadRetryDelay>
retry interval in seconds between subsequent retries. The interval must not be greater than
downloadResponseTimeout
otherwise no retry attempt will be made at all!- Type:
int
- Since:
3.3.0
- Required:
No
- User Property:
webdriverextensions.download.retryDelay
- Default:
3
<drivers>
List of drivers to install. Each driver has a name, platform, bit, version and URL that can be provided.
If no drivers are provided the latest drivers will be installed for the running platform and the bit version will be chosen as if it has not been provided (see rule below).
If no platform is provided for a driver the platform will automatically be set to the running platform.
If no bit version is provided for a driver the bit will automatically be set to 32 if running the plugin on a windows or mac platform. However if running the plugin from a linux platform the bit will be determined from the OS bit version.
If the driver is not available in the repository the plugin does not know from which URL to download the driver. In that case the URL should be provided for the driver. The default repository with all available drivers can be found here.
Some Examples
Installing all latest drivers
Installing a driver not available in the repository, e.g. PhantomJS
If no drivers are provided the latest drivers will be installed for the running platform and the bit version will be chosen as if it has not been provided (see rule below).
If no platform is provided for a driver the platform will automatically be set to the running platform.
If no bit version is provided for a driver the bit will automatically be set to 32 if running the plugin on a windows or mac platform. However if running the plugin from a linux platform the bit will be determined from the OS bit version.
If the driver is not available in the repository the plugin does not know from which URL to download the driver. In that case the URL should be provided for the driver. The default repository with all available drivers can be found here.
Some Examples
Installing all latest drivers
<drivers> <driver> <name>chromedriver</name> <platform>windows</platform> <bit>32</bit> </driver> <driver> <name>chromedriver</name> <platform>mac</platform> <bit>32</bit> </driver> <driver> <name>chromedriver</name> <platform>linux</platform> <bit>32</bit> </driver> <driver> <name>chromedriver</name> <platform>linux</platform> <bit>64</bit> </driver> <driver> <name>internetexplorerdriver</name> <platform>windows</platform> <bit>32</bit> </driver> <driver> <name>internetexplorerdriver</name> <platform>windows</platform> <bit>64</bit> </driver> </drivers>
Installing a driver not available in the repository, e.g. PhantomJS
<driver> <name>phanthomjs</name> <platform>mac</platform> <bit>32</bit> <version>1.9.7</version> <url>http://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-macosx.zip</url> </driver>
- Type:
java.util.List<com.github.webdriverextensions.Driver>
- Required:
No
<installationDirectory>
The path to the directory where the drivers are going to be installed.
- Type:
java.io.File
- Required:
No
- User Property:
webdriverextensions.installDirectory
- Default:
${basedir}/drivers
<keepDownloadedWebdrivers>
Keep downloaded files as local cache.
If set to
If set to
true
, one should also provide a known and non-random value for pluginWorkingDirectory
!- Type:
boolean
- Since:
2.0.0
- Required:
No
- User Property:
webdriverextensions.download.keepFiles
- Default:
false
<pluginWorkingDirectory>
The working directory where downloaded drivers will be saved until they are moved to
This defaults to a random temporary directory prefixed with
installationDirectory
.
This defaults to a random temporary directory prefixed with
webdriverextensions-maven-pluginbelow the default temporary-file directory (
java.io.tmpdir
).- Type:
java.io.File
- Since:
3.3.0
- Required:
No
- User Property:
webdriverextensions.workingDirectory
<proxyId>
The id of the proxy to use if it is configured in settings.xml. If not provided the first active proxy in settings.xml will be used.
- Type:
java.lang.String
- Since:
1.1.0
- Required:
No
- User Property:
webdriverextensions.proxyId
<repositoryUrl>
URL to where the repository file is located. The repository file is a json file containing information of available drivers and their locations etc. Supported protocols are: http, https and file. The content of the file must validate against the drivers repository JSON schema.
- Type:
java.net.URL
- Required:
No
- User Property:
webdriverextensions.repoUrl
- Default:
https://raw.githubusercontent.com/webdriverextensions/webdriverextensions-maven-plugin-repository/master/repository-3.0.json
<setWebdriverPath>
Sets the webdriver properties with the path to the downloaded/installed drivers.
This setting should not be used if these properties are set elsewhere (e.g. with "systemPropertyVariables") because they will be overwritten!
For custom defined drivers: the driver name should start with one of the known prefixes ("chrome", "chromium", "edge", "firefox", "gecko", "opera", "internetexplorer"), otherwise the plugin will not know which property to set.
This setting should not be used if these properties are set elsewhere (e.g. with "systemPropertyVariables") because they will be overwritten!
For custom defined drivers: the driver name should start with one of the known prefixes ("chrome", "chromium", "edge", "firefox", "gecko", "opera", "internetexplorer"), otherwise the plugin will not know which property to set.
- Type:
boolean
- Since:
3.3.0
- Required:
No
- User Property:
webdriverextensions.setWebdriverPath
- Default:
false
<skip>
Skips installation of drivers. Execution will also be skipped if one of the following properties is
true
:
- skipTests
- skipITs
- maven.test.skip
- Type:
boolean
- Required:
No
- User Property:
webdriverextensions.skip
- Default:
false
<skipIgnore>
Do not skip execution even if one of the skip-properties (see
skip
) is true
. This is useful for downloading drivers even when test execution is skipped.- Type:
boolean
- Since:
3.3.0
- Required:
No
- User Property:
webdriverextensions.skipIgnore
- Default:
false