Since we wrote this post we didn't laze around. Check our latest announcement.
The Arquillian team is proud to announce the 2.0.1.Final release of the Arquillian Drone Extension component!
Chrome options
This release brings you a possibility to set chrome options for a chromeDriver
through your arquillian.xml
file. You can find all possible options that can be set on this web page.
The process of setting options uses a ChromeOptions class which means that the parameter names (used in arquillian.xml
) are tightly coupled with the names of the set/add methods defined in the class. It is expected that the name of each parameter consists of:
“chrome” + (name of the set/add method of ChromeOption
class without first three chars)
the whole string should be in camel case. For example, in case of an option
args which is coupled with the method
addArguments
, the parameter should look like this:
<property name=“chromeArguments”>--first-argument --second-argument
</property>
Please notice that there are two methods named addArguments
in the ChromeOptions
class, one with a parameter which is a list of strings and second one with an array of strings – Drone treats them as a one single method (for other methods it is applied analogically).
Value formats
- In the cases, when the value can be an array or list of strings/files, you should specify all of them in one string separated by space (this is also applied for extensions as well as for encoded extensions).
- It is a little bit different in the case of experimental options. These options should be provided as set of key-value pairs, so we decided to use JSON format for it (can be in multiline format) – for example:
<property name=“chromeExperimentalOption”>
{
"perfLoggingPrefs": {
"traceCategories": ",blink.console,disabled-by-default-devtools.timeline,benchmark"
},
"prefs": {
"download.default_directory": "/usr/local/path/to/download/directory"
}
}
</property>
Debug
If you struggle with passing required chrome options through the arquillian.xml
file, you can use a parameter chromePrintOptions
with a value true
:
<property name=“chromePrintOptions”>true
</property>
This ensures that Drone prints out the whole content of
ChromeOptions
in a JSON format to the standard output.
Firefox 48
Since Mozilla has changed the internals of Firefox we strongly recommend to use new geckodriver, as the community one is not compatible anymore. This applies for to all Firefox versions starting from 48. The gecko drivers can be downloaded here.
This Drone release partially supports these changes. By partially we mean you haved to download the geckodriver manually and specify a path to the driver using a parameter firefoxDriverBinary
there in your arquillian.xml
file:
<property name=“firefoxDriverBinary”>/path/to/your/driver/binary
</property>
Apart from this configuration, you also need to have Selenium 3 on your classpath – see below for detailed instructions.
Selenium version
As this release of Drone is a minor release and the latest Selenium release is in beta version, we decided stick to supported release in this version. In other words, Selenium 3 dependency is not automatically fetched by Drone 2.0.1.Final (the default one is still 2.53.1
).
If you need to use the latest version of Selenium (for example together with geckodriver – see above), then the easiest way is specifying selenium-bom
dependency in a dependencyManagement
part of your pom.xml
file:
pom.xml
<!-- clip -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.selenium</groupId>
<artifactId>selenium-bom</artifactId>
<version>3.0.0-beta3</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<!-- clip -->
IMPORTANT: If you also use the arquillian-drone-bom
(or other BOMs), make sure that the selenium-bom
is placed before other BOMs – to make the change effective.
The full support of Selenium 3 and geckodriver will be provided in the next release of Drone (2.1.0.Alpha1), so stay tuned.
We hope that you’ll enjoy our new stuff and look forward to hear your feedback.
What is Arquillian?
Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.
Release details
Published artifacts
org.jboss.arquillian.extension
-
org.jboss.arquillian.extension
»
arquillian-drone-bom
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-webdriver-depchain
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-api
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-spi
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-configuration
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-impl
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-selenium-server
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-webdriver
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-saucelabs-extension
jar
javadoc
pom
-
org.jboss.arquillian.extension
»
arquillian-drone-browserstack-extension
jar
javadoc
pom
Release notes and resolved issues
4
- Component Upgrade
-
- Feature Request
-
- ARQ-2037 - Support additional browser capabilities for Chrome
- ARQ-2044 - Expose logic that creates browser capabilities
- ARQ-2045 - Add possibility to define firefox driver binary to support FF48
Thanks to the following list of contributors:
Matous Jobanek