Arquillian Droidium 1.0.0.Alpha2 Released

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

The Arquillian team is proud to announce the 1.0.0.Alpha2 release of the Arquillian Droidium component!

There are several important fixes in this release for those testing Android native and web applications in connection with Arquillian Drone and Graphene.

This release is packed with bugfixes and features which make the testing experience much smoother. The Arquillian Droidium container can from now on be used as a standalone container which does not depend on any plugin, native nor web. Even with no plugins on class path, you can still deploy APKs to Android device and you can fully interact with your device and automate it as you wish. Skys the limit…

Arquillian Droidium uses the Arquillian Drone and Graphene extensions heavily. Did you known that you can use Page fragments from Graphene on your native Android activities? That’s right, there is almost no difference between functional web and Android native application testing.

@RunWith(Arquillian.class)
@RunAsClient
public class AeroGearTestCase {

    @Drone
    @Browser
    WebDriver browser;

    @Drone
    @Mobile
    WebDriver mobile;

    ...

    @Browser
    @FindBy(id = "task-container")
    private TaskWebFragment taskFragment;

    @Mobile
    @FindBy(id = "todo")
    private TaskMobileFragment taskMobileFragment;

    ...

    @Test
    @InSequence(3)
    @OperateOnDeployment("todo-ear-app")
    public void addTask() {

        taskFragment.addTask("groceries", "buy some milk", "2020", "10", "20", "buy some fresh milk around the corner");

        Assert.assertEquals(taskFragment.getAddedTask().getTitle(), "buy some milk");
        Assert.assertEquals(taskFragment.getAddedTask().getDescription(), "buy some fresh milk around the corner");
    }

    @Test
    @InSequence(5)
    @OperateOnDeployment("todo-mobile-app")
    public void addMobileTask() {
        taskMobileFragment.addTask("mobile task", "2014-10-20", "task from mobile phone!");
    }

}

To see a full example of the Aerogear TODO demo app tested using Arquillian Droidium check out this repository.

Don’t know what Page Fragments are? You might want to read this blog post: Introducing Arquillian Graphene Page Fragments

Since you use can use the ordinary application container and Droidium container together in one test run, you can now test complex scenarios which require interaction between web application and Android application.

@Test
@InSequence(5)
@OperateOnDeployment("todo-mobile-app")
public void addMobileTask() {
    taskMobileFragment.addTask("mobile task", "2014-10-20", "task from mobile phone!");
}

@Test
@InSequence(6)
@OperateOnDeployment("todo-ear-app")
public void seeMobileTaskInWebClient() {
    browser.navigate().refresh();
}

We look forward to hearing your feedback about this release 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 Droidium
Version 1.0.0.Alpha2 view tag
Release date 2013-10-09
Released by Karel Piwko
Compiled against

Published artifacts org.arquillian.container

  • org.arquillian.container » arquillian-droidium-container-api jar javadoc pom
  • org.arquillian.container » arquillian-droidium-container-spi jar javadoc pom
  • org.arquillian.container » arquillian-droidium-container jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-multiple-containers jar javadoc pom
  • org.arquillian.protocol » arquillian-protocol-android jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-native-api jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-native-spi jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-native-impl jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-native-depchain jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-web-spi jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-web-impl jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-web-depchain jar javadoc pom
  • org.arquillian.droidium.archetype » arquillian-droidium-archetype-native-test jar javadoc pom
  • org.arquillian.droidium.archetype » arquillian-droidium-archetype-web-test jar javadoc pom

Release notes and resolved issues 14

Enhancement
  • ARQ-1506 - Rename Droidium Container artifactId
  • ARQ-1507 - Make usage of Arquillian Droidium stack easier
  • ARQ-1515 - Allow debugging mode for Selenium APK
  • ARQ-1524 - Implement deployment logic when native plugin is not on class path
  • ARQ-1526 - Provide screenshot api for Droidium container
Feature Request
  • ARQ-1495 - Support both serialId and avdName in arquillian.xml
  • ARQ-1521 - Implement default activity manager when native plugin is not on the class path
  • ARQ-1522 - Should be able to start activity without FQDN format
  • ARQ-1525 - Be able to deploy APKs when doing web testing with web plugin
Bug
  • ARQ-1505 - Wrong handling of Android Debug Bridge initialization
  • ARQ-1511 - Wrong Android container identification in logs
  • ARQ-1512 - Droidum does not handle disconnect of a physical device correctly
  • ARQ-1513 - Multicontainer extension should not log warnings about its property

Thanks to the following list of contributors: Stefan Miklosovic, Karel Piwko

Arquillian TestRunner Spock 1.0.0.Beta2 Released

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

The Arquillian team is proud to announce the 1.0.0.Beta2 release of the Arquillian TestRunner Spock component!

“In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move.”

Arquillian Spock Testrunner is back with the new version and bring important improvements in the area of specification execution. Yet again Karel Piwko evolves the Spock integration towards a Final release. He is the keeper of the state and you can rest assure he won’t let the two universes collide!

Important changes

Annotation driven activation is now obsolote
@ArquillianSpecification revealed itself to be more problematic than valuable (see JIRA issues below for details). Therefore we made a breaking change and got rid of it in favour for a custom test runner integrating both Spock and the Arquillian lifecycles. From now on you should simply decorate your specification with @RunWith(ArquillianSputnik).

Both Spock and Arquillian let you test your code with pleasure, so wait no more and give it a spin!

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 TestRunner Spock
Version 1.0.0.Beta2 view tag
Release date 2013-10-08
Released by Karel Piwko
Compiled against

Published artifacts org.jboss.arquillian.spock

  • org.jboss.arquillian.spock » arquillian-spock-core jar javadoc pom
  • org.jboss.arquillian.spock » arquillian-spock-standalone jar javadoc pom
  • org.jboss.arquillian.spock » arquillian-spock-container jar javadoc pom

Release notes and resolved issues 5

Bug
  • ARQ-1427 - Arquillian Spock test fails with NPE when a subclass of spock.lang.Specification is used
  • ARQ-1429 - Spock Appender is missing org.objectweb.asm package
  • ARQ-1445 - Spock extension emits After/Before suite before/after each specification execution
  • ARQ-1480 - After/Before methods are always fired on both container/in client
  • ARQ-1481 - Remove redundancy of both ArquillianSputnik and ArquillianSpecification

Thanks to the following list of contributors: Karel Piwko, Aslak Knutsen, Bartosz Majsak

Arquillian Container WebSphere AS 1.0.0.Alpha2 Released

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

The Arquillian team is proud to announce the 1.0.0.Alpha2 release of the Arquillian Container WebSphere AS component!

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 Container WebSphere AS
Modules
Version 1.0.0.Alpha2 view tag
Release date 2013-10-02
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.container

  • org.jboss.arquillian.container » arquillian-was-remote-7 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-was-embedded-8 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-was-remote-8 jar javadoc pom
  • org.jboss.arquillian.container » arquillian-wlp-managed-8.5 jar javadoc pom

Release notes and resolved issues 9

Feature Request
  • ARQ-264 - Create a DeployableContainer integration for remote WAS V7.0
  • ARQ-423 - Create a DeployableContainer integration for remote WAS V8.0
  • ARQ-424 - Create a DeployableContainer integration for embeddable WAS V8.0
  • ARQ-1001 - Update WAS to Arquillian Core 1.0.0.Final
Bug
  • ARQ-625 - EnterpriseArchive deployment with EJB-JAR without descriptor will fail on WAS V8.0
  • ARQ-1434 - WAS should follow container artifact naming standard
  • ARQ-1463 - WebSphere Liberty Profile Container not working on Windows with IBM JVM
  • ARQ-1488 - CDI Injection not working in WebSphere Containers

Thanks to the following list of contributors: Gerhard Poul, Aslak Knutsen, Lebetz, Manuel Doninger

Arquillian Drone Extension 1.2.0.Final Released

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

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

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 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

Arquillian Extension QUnit 1.0.0.Alpha2 Released

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

The Arquillian team is proud to announce the 1.0.0.Alpha2 release of the Arquillian Extension QUnit component!

We have bunch of small but important improvements in our extension for all QUnit users out there.

Highlighted Features

Compatibility with post Alpha Arquillian Graphene and Arquillian Drone components

You can run Arquillian QUnit against CR/GA versions of Arquillian Graphene and Arquillian Drone components.

Distinction between error and failure reporting

Failed QUnit assertion(s) inside a QUnit test lead to test failure.

Better and cleaner logging

Undesired HtmlUnit warnings and logs have been removed.

Better error propagation after creating a hook on the Arquillian lifecycle

Possible errors during the Arquillian lifecycle are correctly propagated and the end user has a better understanding of the error cause.

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 Extension QUnit
Version 1.0.0.Alpha2 view tag
Release date 2013-10-02
Released by Karel Piwko
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-qunit-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-qunit jar javadoc pom

Release notes and resolved issues 7

Component Upgrade
  • ARQ-1499 - Update QUnit extension to be compatible with post Alpha Graphene
Enhancement
  • ARQ-1501 - ArquillianQUnitException should be unchecked and have richer API
Feature Request
  • ARQ-1502 - HTMLUnit, used to construct test execution description, logs many errors
  • ARQ-1518 - Replace arquillian-junit-container with arquiilian-junit-core dependency
Bug
  • ARQ-1500 - Use nested Runner for QUnit test execution
  • ARQ-1514 - Exceptions are swallowed and tests are not marked as failures/errors
  • ARQ-1517 - QUnit extension does not distinguish between errors and failures

Thanks to the following list of contributors: Tolis Emmanouilidis, Karel Piwko