Arquillian Drone Extension 1.1.0.CR1 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.1.0.CR1 release of the Arquillian Drone Extension component!

Some of the Highlights in This Release

  • underlying Selenium upgraded to 2.24.1
  • support for Opera browser added
  • webdriver configuration improved
  • reusable session for RemoteWebDriver introduced

Configuration Improvement

Have you ever been stucked because you didn’t remember full qualified class name of the webdriver you wanted to use in your tests? Last Drone version required setting of implementationClass property and we should admit it wasn’t really comfortable. So we present a new property called browserCapabilities which can have the following values: android, chrome, firefox, htmlUnit, internetExplorer, iphone and opera. The values ​​correspond to the factory methods of DesiredCapabilities class.

We have also enabled webdriver configuration via Capabilities interface. Now you can use the configuration as you know it from documentation of each webdriver. Use capability prefix and camel case instead of dots in the property name to set the capability value.

So assume you want to use Firefox browser and specify the path to its binary file. We know webdriver.firefox.bin configuration property from FirefoxDriver documention.

arquillian.xml
<extension qualifier="webdriver">
    <property name="browserCapabilities">firefox</property>
    <property name="capabilityWebdriverFirefoxBin">/path/to/my/firefox/installation/firefox</property>
</extension>

Reusable Session for RemoteWebDriver

To increase your productivity in test development Drone presents a new feature to reuse session from previous test execution. Skip creating a new session to save your time. You can check the speed-up in the following table. The table contains time needed to run a test (including deployment on JBoss AS 7.1.1.Final).

Common Session Reusable Session
Firefox 3.98 ± 0.27 s 2.15 ± 0.15 s
Google Chrome 4.75 ± 0.03 s 2.57 ± 0.05 s

The feature requires standalone selenium server running, remoteReusable enabled and remoteAddress pointed to your selenium server.

<extension qualifier="webdriver">
    <property name="browserCapabilities">firefox</property>
    <property name="remoteReusable">true</property>
    <property name="remoteAddress">http://localhost:4444/wd/hub</property>
</extension>

Using the reusable session the browser stays open after the test completion, so all its settings are kept alive. If you need to debug your tests on the client side, you can easily prepare break points in the browser and run tests with remoteReusable flag.

After the proper configuration of reusable session RemoteWebDriver will be chosen automatically. That means you have to use compatible types in your test code (WebDriver ideally).

public void testMethod(@Drone WebDriver driver) {
    // test code
}

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.1.0.CR1 view tag
Release date 2012-06-27
Released by Lukas Fryc
Compiled against

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 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-selenium jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-drone-webdriver jar javadoc pom

Release notes and resolved issues 6

Support for Reusable sessions

Feature Request
  • ARQ-847 - Support OperaDriver in Drone
  • ARQ-926 - Fast development turnaround using Selenium Server and RemoteWebDriver session reusal
  • ARQ-995 - Allow Arquillian Drone configuration to map java.util.Map for property values
Task
  • ARQ-868 - Update Selenium version to 2.24.1
  • ARQ-970 - Drone: Merge tests for reusable remote session
Sub-task
  • ARQ-927 - Configuration for RemoteWebDriver Drone extension

Thanks to the following list of contributors: Lukas Fryc, Jan Papoušek, Karel Piwko, Aslak Knutsen