Since we wrote this post we didn't laze around. Check our latest announcement.
The Arquillian team is proud to announce the 2.1.0.Alpha1 release of the Arquillian Drone Extension component!
In this release, we bring you a new way of a managing binaries such as drivers or Selenium Server.
Previously, when you wanted to use for example Chrome browser for your tests, you had to download the
chrome-driver binary first, then define the path to the binary in your
arquillian.xml file and then run the UI tests.
With the new binary management, the first two steps are not needed anymore. If you don’t specify the path in your
arquillian.xml file, Drone automatically downloads the latest version of the binary, set the necessary properties and use the binary in your UI tests.
How does it work?
Let say that you want to use Firefox for UI tests. First of all, Drone checks if the path to the Gecko webdriver binary is already set. In this case, it would check a system property
webdriver.gecko.driver; if this is empty then it checks the
firefoxDriverBinary. In case that both properties are empty, then the automatic download starts.
Now, we have several options how to specify which binary should be downloaded (version, from URL, latest) and where it should be stored. For storage purposes cache directories
$HOME/.arquillian/drone/subdirectory_specific_to_binary are used so the binaries are not downloaded over and over again.
Using the property
you can define which version of the Gecko webdriver should be downloaded. The binary is then cached in a directory
Using the property
<property name="firefoxDriverUrl">http://url/to/gecko/webdriver</property>you can define which URL the Gecko webdriver should be downloaded from. The directory where it is stored depends if you also specify the version of this binary or not. In case you use also the before-mentioned property
firefoxDriverVersionthen it is cached in corresponding directory
$HOME/.arquillian/drone/firefox/specified_version/. Otherwise it is downloaded into
$project.directory/target/drone/downloaded/so no cache is used.
In case you don’t define any property then Drone finds the latest version of the given binary and downloads this one. The binary (in case of Gecko webdriver) is cached at
Some additional information and list of supported binaries and properties can be found in the Drone documentation
Apart from the fact that the Selenium Server binary is automatically downloaded, in the case of
RemoteWebDriver it is also automatically started with the correct parameters (path to the webdriver that should be used).
So, if you use
RemoteWebDriver Drone checks the address specified using property
remoteAddress in arquillian.xml file (default is:
http://localhost:4444/wd/hub) and if the address is not accessible (there isn’t running anything) then it automatically starts selenium server instance on the given address.
For example I’d like to use
RemoteWebDriver with the browser Firefox and without specifying any custom remote address, then the Selenium Server would be started using command:
java -Dwebdriver.gecko.driver=target/.../geckodriver -jar target/.../selenium-server-standalone-3.3.1.jar -port 4444
We hope that you’ll enjoy our new stuff and look forward to hearing 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.
|Component||Arquillian Drone Extension|
|Version||2.1.0.Alpha1 view tag|
|Released by||Matous Jobanek|
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-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 6
- Component Upgrade
- Feature Request
- ARQ-1826 - Download Explorer binary for Drone
- ARQ-1695 - Integrate Spacelift into Drone