Red Hat
Oct 9, 2013
by Arquillian Project Team

The Arquillian team is proud to announce the 1.2.0.Final release of the Arquillian Drone Extension component!

Arquillian Drone has reached 1.2.0.Final!
The focus of this release was to improve the usabillity for other Arquillian extension developers. That said, it still brings a lot of goodies and bugfixes from the previous versions. And the best part, it’s fully backward compatible with Arquillian Drone 1.1.1.Final.
So, update and enjoy new features! And don’t forget to check our updated documentation


What’s new in Drone since 1.1.1.Final?

Browser capabilities shorthand

Configuration property browserCapabilities is now replaced with the simple browser property. The original property still works, of course, but emits a warning when used.

arquillian.xml
<extension qualifier=“webdriver”>
<!— since now, you can simply write “browser” —>
<property name=“browser”>chrome</property>
</extension>
PhantomJS support

Drone allows you to use PhantomJS as a browser. Moreover, it automatically fetches the binary needed for your platform. All you need to do is configure it:

arquillian.xml
<extension qualifier=“webdriver”>
<property name=“browser”>phantomjs</property>
</extension>
Selenium BOM

It is now much easier to override the Selenium version by importing a single BOM in the <dependencyManagement> section, before arquillian-drone-bom. By default, Drone uses Selenium 2.35.0.

pom.xml
<depenencyManagement>
<dependency>
<groupId>org.jboss.arquillian.selenium</groupId>
<artifactId>selenium-bom</artifactId>
<version>${version.selenium}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</depenencyManagement>
Time limited Drone creation

Drone now injects Selenium and WebDriver instances using a time limit to avoiding your tests from getting stuck. Also, Drone now creates the instances before they are used for the first time. So it’s no longer bound to the BeforeClass event.
The time limit is 60 seconds by default and can be modified in arquillian.xml globally for all supported Drones. Also, the limit is disabled if you set arquillian.debug property to true.

arquillian.xml
<extension qualifier=“drone”>
<!— set this to zero if you want to disable timeout —>
<property name=“instantiationTimeoutInSeconds”>0</property>
</extension>
Browser goodies

Added support for the dimensions property that allow you to resize the window. This is handy especially if the default viewport is small and some elements are not visible, like with PhantomJS. The Firefox configuration now accepts two new properties, firefox_profile and firefoxUserPreferences. While the first one is not really new, it allows you to set a path to the Firefox profile template, the latter makes it possible to modify prefs.js for the created Firefox profile. And reusable browsers are now able to remove properties before each test class or method (depends on where you inject Drone) using reuseCookies property.

arquillian.xml
<extension qualifier=“webdriver”>
<property name=“firefox_profile”>/path/to/profile</property>
<property name=“firefoxUserPreferences”>/path/to/preferences/file</property>
<property name=“dimensions”>1680×1050</property>
<property name=“reuseCookies”>false</property>
</extension>
New SPI

All extensions should now profit from a much richer event model. Additionally, Drone 1.2.0.Final brings the new concept of DroneInstanceEnricher, which allows you to modify the Drone instance that Drone creates for you by any means. We use it for instance to automatically augment browser object to implement all the interfaces defined by its capabilities.

I’d like to thank everybody involved in this release. You guys make testing a breeze!

We hope that you’ll enjoy the improvements and look forward to hear your feedback in the community forums.

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

Component Arquillian Drone Extension
Version 1.2.0.Final view tag
Release date 2013-10-07
Released by Karel Piwko
Compiled against
  • Arquillian Core – 1.1.1.Final
  • Selenium – 2.35.0

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-drone-bom pom
  • org.jboss.arquillian.extension » arquillian-drone-selenium-depchain pom
  • org.jboss.arquillian.extension » arquillian-drone-webdriver-depchain pom
  • org.jboss.arquillian.extension » arquillian-drone-api jar pom
  • org.jboss.arquillian.extension » arquillian-drone-spi jar pom
  • org.jboss.arquillian.extension » arquillian-drone-configuration jar pom
  • org.jboss.arquillian.extension » arquillian-drone-impl jar pom
  • org.jboss.arquillian.extension » arquillian-drone-selenium-server jar pom
  • org.jboss.arquillian.extension » arquillian-drone-selenium jar pom
  • org.jboss.arquillian.extension » arquillian-drone-webdriver jar pom

Release notes and resolved issues 2

Bug
  • ARQ-1508 - WindowResizer does not fail-safe on Android
  • ARQ-1523 - Drone: Opera browser window is not closed after test case (class)

Thanks to the following list of contributors: Karel Piwko

Original Post