A maven plugin which generates drivers (chromedriver and geckodriver) at run time.
<dependencies>
<dependency>
<groupId>com.github.abhishek8908</groupId>
<artifactId>selenium-drivers-download-plugin</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
Add the following plugin to your POM file.
<plugin>
<groupId>com.github.abhishek8908</groupId>
<artifactId>selenium-drivers-download-plugin</artifactId>
<version>1.2</version>
<configuration>
<!-- Path to save selenium drivers -->
<driverPath>${project.basedir}/drivers</driverPath>
<drivers>
<driver>
<!-- Driver Name -->
<name>chromedriver</name>
<!-- Driver version -->
<version>2.39</version>
<!-- Driver for OS -->
<os>win32</os>
</driver>
<driver>
<name>chromedriver</name>
<version>2.39</version>
<os>linux64</os>
</driver>
<driver>
<name>geckodriver</name
<version>0.20.1</version>
<os>linux64</os>
</driver>
<driver>
<name>geckodriver</name>
<version>0.20.1</version>
<os>macos</os>
</driver>
<driver>
<name>chromedriver</name>
<version>2.39</version>
<os>mac64</os>
</driver>
</drivers>
</configuration>
<executions>
<execution>
<goals>
<goal>generateDrivers</goal>
</goals>
</execution>
</executions>
</plugin>
Add system property with Surefire Plugin :
<properties>
<browser>chromedriver</browser>
<version>2.40</version>
<os>win32</os>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<systemProperties>
<property>
<name>webdriver.chrome.driver</name>
<value>${project.basedir}/drivers/${browser}-${version}-${os}.exe</value>
</property>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>com.github.abhishek8908</groupId>
<artifactId>selenium-drivers-download-plugin</artifactId>
<version>1.2</version>
<configuration>
<!-- Path to save selenium drivers -->
<driverPath>${project.basedir}/drivers</driverPath>
<drivers>
<driver>
<name>${browser}</name>
<version>${version}</version>
<os>${os}</os>
</driver>
</drivers>
</configuration>
<executions>
<execution>
<goals>
<goal>generateDrivers</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>