Hi everyone,
I started using drone with selenium 3, here is maven dependencies of interest:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.selenium</groupId>
<artifactId>selenium-bom</artifactId>
<version>3.0.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.arquillian</groupId>
<artifactId>arquillian-universe</artifactId>
<version>1.0.0.Alpha5</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.arquillian.universe</groupId>
<artifactId>arquillian-graphene</artifactId>
<scope>test</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>1.5.1</version>
<scope>test</scope>
</dependency>
I am using webdrivermanager to download binaries automatically and export environment variables needed by Selenium but for that I need to setup webdrivers in BeforeClass:
@BeforeClass
public static void setup() {
boolean travis = System.getProperty("travisci") != null;
if (travis) {
return;
}
//for selenium 3 we must setup the webdriverusing driver manager (it will download webdrivers to /tmp)
FirefoxDriverManager.getInstance().setup();
ChromeDriverManager.getInstance().setup();
InternetExplorerDriverManager.getInstance().setup();
//PhantomJsDriverManager.getInstance().setup();//no need because its automatically setup by arquillian
//EdgeDriverManager.getInstance().setup(); //not supported by arquillian at the moment
}
As I don’t know which webdriver is going to be used I setup all of them, it would be nice if Arquillian could do this based on browser property from arquillian.xml.
What do you think? What are you using to setup webdriver binaries in selenium 3?
Note that I’m looking for something automatic without needing to download drivers binaries manually.