Arquillian Core 1.1.10.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.1.10.Final release of the Arquillian Core 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 Core
Version 1.1.10.Final view tag
Release date 2015-10-19
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.core

  • org.jboss.arquillian.core » arquillian-core-api jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-spi jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-impl-base jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-api jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-spi jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-impl-base jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-api jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-spi jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-api jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-impl-base jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-core jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-standalone jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-container jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-core jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-standalone jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-container jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-cdi jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-ejb jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-resource jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-initialcontext jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-servlet jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-jmx jar javadoc pom
  • org.jboss.arquillian » arquillian-bom pom

Release notes and resolved issues 3

Component Upgrade
  • ARQ-1984 - Update version of ShrinkWrap Resolver to 2.2.0
  • ARQ-1985 - Update version of ShrinkWrap Descriptor to 2.0.0-alpha-8
Bug
  • ARQ-1992 - ServletTestRunner is leaking memmory

Thanks to the following list of contributors: Matous Jobanek, Aslak Knutsen

Arquillian Governor 1.0.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.0.0.Final release of the Arquillian Governor component!

Arquillian Governor Extension gives you the possibility to programmatically choose what test methods of your Arquillian tests are going to be executed and what are going to be skipped by putting your custom annotations on the test methods. The resolution of the test method execution is done during the test class execution in BeforeClass phase.

Currenly, there are three implementations which use API of the Arquillian Governor extension – Arquillian JIRA Governor extension, Arquillian GitHub Governor extension and Arquillian Skipper extension.

Arquillian Governor JIRA

JIRA extension enables you to skip some test mehods which are in Unresolved or Open state in your JIRA instance, because you assume that if you run that test it would fail. Once that JIRA is resolved as Done, that test method will not be skipped.

You can even close your JIRAs directly from test methods when you force the execution despite the fact it should be skipped. If this test method passes successfully, you can close related JIRA issue from test. Let’s see it in action:

@RunWith(Arquillian.class)
public class TestCase
{
    @Test
    @Jira("ARQ-1907")
    public void test()
    {
        // this test will be run because ARQ-1907 is 'Done'
        // so we assume that this test has to pass as well
    }

    @Test
    @Jira("ARQ-5000")
    public void test2()
    {
        // if this JIRA exists and its status is 'Unresolved' or 'Open'
        // this test method will be skipped because you assume that
        // if you run it, it would fail
    }
    
    @Test
    @Jira("ARQ-5000", force = true)
    public void automaticClosingTest()
    {
        // when this JIRA exists and its status is 'Unresolved' / 'Open'
        // and you have forced its execution and you set 'closePassed'
        // property in arquillian.xml to 'true', if this test method succeeds,
        // it automatically resolves respective JIRA issue as 'Done'
    }

}

Arquillian Governor GitHub

The GitHub integration work largely the same as the JIRA integration, except it of course integrate with GitHub Issues.

@RunWith(Arquillian.class)
public class AutomaticClosingTestCase
{
    @Test
    @GitHub(value = "2", force = true)
    public void automaticClosingTest)
    {
        // ...
    }
}

Arquillian Governor Skipper

On the other hand, Arquillian Governor Skipper extension adds one annotation – TestSpec – which describes your test method in more details. This information is reported to Arquillian Reporter and it is seamlessly integrated to Arquillian testing reports hence you have betteroverview about the state of your test suite.

If status is set to Status.AUTOMATED, test method will be run, if it is Status.MANUAL, it will be skipped.

@Test
@TestSpec(
    author = "Stefan Miklosovic",
    assertion = "this test should pass",
    feature = "tests if true returns true",
    issue = "ARQ-1",
    prerequisites = "have java",
    status = Status.AUTOMATED,
    steps = "some steps in order to execute this test",
    test = "what does this test do"
    )
public void someTest() {
    Assert.assertTrue(true);
}

How to use these extensions in depth is described in the exhaustive readme.

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 Governor
Version 1.0.0.Final view tag
Release date 2015-09-30
Released by Aslak Knutsen
Compiled against

Published artifacts org.arquillian.extension

  • org.arquillian.extension » arquillian-governor-spi jar javadoc pom
  • org.arquillian.extension » arquillian-governor-api jar javadoc pom
  • org.arquillian.extension » arquillian-governor jar javadoc pom
  • org.arquillian.extension » arquillian-governor-jira jar javadoc pom
  • org.arquillian.extension » arquillian-governor-skipper jar javadoc pom
  • org.arquillian.extension » arquillian-governor-github jar javadoc pom

Release notes and resolved issues 1

Other

Thanks to the following list of contributors: Aslak Knutsen, Stefan Miklosovic, Alex Soto

Arquillian Core 1.1.9.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.1.9.Final release of the Arquillian Core component!

Highlights in this release

@ArquillianResource URL for in-container tests

You can now inject the base URL for any deployment by using the @ArquillianResource injection point even in in-container tests.

@Deployment
public static WebArchive test() {
   return ShrinkWrap.create(WebArchive.class);
}

@Deployment(name = "X")
public static WebArchive test2() {
   return ShrinkWrap.create(WebArchive.class);
}

@ArquillianResource
private URL url;

@Test
public void should() {
   // ... inject the url to the default deployment
}

@Test
public void shouldX(@ArquillianResource @OperatesOnDeployment("X") URL url) {
   // .. inject the url from the other deployment
}

When in-container URL injection happen a callback to the client is done to lookup the URL. A clalback has a little performance hit so it’s only recommended to do this if really needed.

@ArquillianResource ServletContext for in-container tests

The Servlet Protocol now expose the current ServletContext for a in-container test execution via the @ArquillianResource injection point.

@ArquillianResource
private ServletContext context;

When running Arquillian with the Tomcat or Jetty embedded container adapters, then ServletContext injection is supported on the client side as well in the next release.

Support ENV variables to configure Arquillian

We’ve opened up to allow to configure Arquillian via ENV variables following the same schema as for System Properties. The new configuration override order is as following:

  1. arquillian.xml
  2. arquillian.properties
  3. System properties
  4. ENV

Higher the number, higher the power.

Use secure communication when invoking in-container tests

Have you ever seen invoking Arquillian tests over a public network as a risk? Then this is your lucky day! The ServletProtocolConfiguration has been changed to allow for https based communication with the target container.

<container>
   <protocol qualifier="Servlet 3.0">
      <property name="scheme">https</property>
      <property name="port">8443</property>
   </protocol>
</container>

Currently no container adapter support automatic lookup of https context metadata so you need to manually configure the https port. The host should be auto resolved tho.

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 Core
Version 1.1.9.Final view tag
Release date 2015-09-02
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.core

  • org.jboss.arquillian.core » arquillian-core-api jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-spi jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-impl-base jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-api jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-spi jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-impl-base jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-api jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-spi jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-api jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-impl-base jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-core jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-standalone jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-container jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-core jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-standalone jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-container jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-cdi jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-ejb jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-resource jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-initialcontext jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-servlet jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-jmx jar javadoc pom
  • org.jboss.arquillian » arquillian-bom pom

Release notes and resolved issues 5

Enhancement
  • ARQ-540 - Support @ArquillianResource URL for in-container test cases
Feature Request
  • ARQ-1966 - Support ENV variables to configure Arquillian
  • ARQ-1975 - Adds ServletContext as Arquillian Resource
  • ARQ-1977 - Allow for setting the protocol in ServletProtocolConfiguration
Bug
  • ARQ-1976 - All ResourceProvider#canProvide implementations could try to inject subtypes

Thanks to the following list of contributors: Aslak Knutsen, Radoslav Husar, Hielke Hoeve, George Gastaldi, Alex Soto, Alex Bradford

Arquillian Core 1.1.8.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.1.8.Final release of the Arquillian Core 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 Core
Version 1.1.8.Final view tag
Release date 2015-04-17
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.core

  • org.jboss.arquillian.core » arquillian-core-api jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-spi jar javadoc pom
  • org.jboss.arquillian.core » arquillian-core-impl-base jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-api jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-spi jar javadoc pom
  • org.jboss.arquillian.config » arquillian-config-impl-base jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-api jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-spi jar javadoc pom
  • org.jboss.arquillian.test » arquillian-test-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-impl-base jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-api jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-spi jar javadoc pom
  • org.jboss.arquillian.container » arquillian-container-test-impl-base jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-core jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-standalone jar javadoc pom
  • org.jboss.arquillian.junit » arquillian-junit-container jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-core jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-standalone jar javadoc pom
  • org.jboss.arquillian.testng » arquillian-testng-container jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-cdi jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-ejb jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-resource jar javadoc pom
  • org.jboss.arquillian.testenricher » arquillian-testenricher-initialcontext jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-servlet jar javadoc pom
  • org.jboss.arquillian.protocol » arquillian-protocol-jmx jar javadoc pom
  • org.jboss.arquillian » arquillian-bom pom

Release notes and resolved issues 2

Feature Request
  • ARQ-1921 - ResourceProvider SPI should differentiate between Class and Method injection
  • ARQ-1927 - Make use of TCCL in ARQ ManagedContainer configurable

Thanks to the following list of contributors: Aslak Knutsen, Thomas Diesler, Stefan Miklosovic

Arquillian Droidium 1.0.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.0.0.Final release of the Arquillian Droidium component!

We are proud to announce the first final release of Arquillian Droidium component. There were lot of alpha releases where we were polishing stability and API for developers.

Arquillian Droidium is its simplicity the container for Android, both Android emulators and physical devices. Arquillian Droidium makes testing of your Android application, when it comes to functional testing, a breeze.

The biggest strength of Arquillian Droidium lays in its simplicity. Droidium is very smart in hiding unnecessary boiler plate code you have to set up every time. Droidium tests are very clean, easy to read and maintain. You can focus purely on your testing logic.

Arquillian Droidium consists of two core extensions. The first one implements Android container as such, deployment of APKs to your device, starting, stopping and connecting to your Android devices and so one. The second core extension, Droidium Native extension, brings functional testing to your mobile environment.

Functional testing of Android devices is enabled by using the Selendroid libraries. Droidium integrates seamlessly with Arquillian Graphene and Arquillian Drone extensions to deliver first class on-steroids Selenium testing experience in mobile environments.

Arquillian Droidium is not afraid of other container adapters on its classpath at all. You are able to run your Arquillian tests with Android device as well as with your ordinary Java EE container simultaneously. This brings interesting testing scenarios into play where you can deploy your backend Java EE application into ordinary container and you can test your Android APK which communicates with your Java EE backend.

But there is more! Not only you can mix these containers together, you can run more Android containers concurrently which brings even more interesting testing scenarios, where you can test the communication between Android devices very easily.

Arquillian Droidium is able to record your tests as well. You can take screenshots of your Android device along the test execution and these screenshots will be persisted for further inspection in a very concise Arquillian report e.g. as an HTML file.

But we have not stopped with screenshots. You can even take videos of your Android tests directly in the test class via the very simple recorder API.

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.Final view tag
Release date 2015-03-10
Released by Stefan Miklosovic
Compiled against

Published artifacts org.arquillian.extension

  • org.arquillian.extension » arquillian-droidium-platform-spi jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-platform jar javadoc pom
  • 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 jar javadoc pom
  • org.arquillian.droidium.archetype » arquillian-droidium-archetype-native-test jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-screenshooter jar javadoc pom
  • org.arquillian.extension » arquillian-droidium-recorder jar javadoc pom

Release notes and resolved issues 7

Bug
  • ARQ-1919 - Android SDK with no images fails while testing on physical device
Task
  • ARQ-1916 - Update Droidium to Arquillian 1.1.7
  • ARQ-1917 - Update Droidium to Spacelift 1.0.0.Alpha6
  • ARQ-1920 - Update Droidium to use Selendroid 0.14.0
  • ARQ-1928 - Update Droidium to use Arquillian Recorder 1.0.0.Final
  • ARQ-1933 - Update Droidium to use Selendroid 0.15.0
  • ARQ-1934 - Update Droidium to use Drone 2.0.0.Alpha4

Thanks to the following list of contributors: Stefan Miklosovic