Red Hat
Oct 15, 2013
by Arquillian Project Team

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 pom
  • org.arquillian.container » arquillian-droidium-container-spi jar pom
  • org.arquillian.container » arquillian-droidium-container jar pom
  • org.arquillian.extension » arquillian-droidium-multiple-containers jar pom
  • org.arquillian.protocol » arquillian-protocol-android jar pom
  • org.arquillian.extension » arquillian-droidium-native-api jar pom
  • org.arquillian.extension » arquillian-droidium-native-spi jar pom
  • org.arquillian.extension » arquillian-droidium-native-impl jar pom
  • org.arquillian.extension » arquillian-droidium-native-depchain jar pom
  • org.arquillian.extension » arquillian-droidium-web-spi jar pom
  • org.arquillian.extension » arquillian-droidium-web-impl jar pom
  • org.arquillian.extension » arquillian-droidium-web-depchain jar pom

Release notes and resolved issues 14

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

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