Arquillian Drone Extension 1.2.0.Beta1 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.Beta1 release of the Arquillian Drone Extension component!

This release brings you better Firefox support and configurable browser instantiation timeout.


What’s new in Drone 1.2.0.Beta1?

Browser capabilities shorthand

Since the browserCapabilities property was made the default way to set the type of WebDriver you wanted, people have been asking for a simpler name. Now you can just use the browser property instead. While the original property is marked deprecated, we won’t be removing it in the 1.x series.

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

Since 1.2.0.Alpha3, Selenium and WebDriver instances are retrieved using a time limit, avoiding your tests to get stuck. This limit is now 60 seconds by default and can be modified in arquillian.xml file 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>
Firefox goodies

WebDriver configuration now accepts two new configuration 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.

arquillian.xml
<extension qualifier=“webdriver”>
<property name=“firefox_profile”>/path/to/profile</property>
<property name=“firefoxUserPreferences”>/path/to/preferences/file</property>
</extension>
Updated to WebDriver 2.35.0

Arquillian Drone uses Selenium 2.35.0 by default. Due to recent WebDriver API changes(>=2.34.0), we do not recommend the use of the selenium-bom in <dependencyManagement> to downgrade to a older Selenium version. For the very same reason, we recommend you to update Arquillian Graphene to 2.0.0.Alpha5 that is compatible with latest Selenium. Also note that Selenium 2.35.0 deprecated the IPhoneDriver, so Drone did the same.

Drone is based on top of Arquillian Core 1.1.0.Final. Please update your <dependencyManagement> sections if you’re using Arquillian BOM (artifactId: arquillian-bom) together with Arquillian Drone BOM.

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.Beta1 view tag
Release date 2013-08-28
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 8

Stabilization of new SPI model

Component Upgrade
  • ARQ-1459 - Update Drone to use Selenium 2.35.0
Enhancement
  • ARQ-1209 - Abbreviate WebDriver configuration property browserCapabilities as browser
Feature Request
  • ARQ-432 - Allow tests to intercept initializeBrowser()
  • ARQ-1245 - Allow FirefoxDriver to pass profile as file
  • ARQ-1315 - Make possible to configure firefox preferences via arquillian.xml
  • ARQ-1460 - Allow Drone instance creation timeout to be configurable
  • ARQ-1462 - Increase Instance creation timeout
Task
  • ARQ-1461 - Mark IPhoneDriver as deprecated

Thanks to the following list of contributors: Karel Piwko

Arquillian Drone Extension 1.2.0.Alpha3 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.Alpha3 release of the Arquillian Drone Extension component!

This release brings you PhantomJS binary auto resolution and a major update of SPI’s for extension creators.


Significant changes since 1.2.0.Alpha2

Support for PhantomJS binary auto resolution

The PhantomJS binary is now automatically resolved if it’s not found using the phantomjs.binary.path property. So you don’t have to specify this property anymore.

arquillian.xml
<extension qualifier=“webdriver”>
<property name=“browserCapabilities”>phantomjs</property>
</extension>
New SPI Model

If you are writing your own Arquillian extension and you would like to use Arquillian Drone, it is now much simpler. Drone exposes events for browser configuration, creation, enrichement, enhancement and disposal, giving you full control of its lifecycle. If you have used the old SPI model, there are now other interfaces you might need to implement.

Updated to WebDriver 2.33.0

Arquillian Drone uses WebDriver 2.33.0 by default. You can still use selenium-bom to override the WebDriver versions if needed.

Drone is now based on top of Arquillian Core 1.1.1.Final. Please update your <dependencyManagement> sections if you’re using Arquillian BOM (artifactId: arquillian-bom) together with Arquillian Drone BOM.

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.Alpha3 view tag
Release date 2013-08-05
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 7

PhantomJS automatic binary resolution

Component Upgrade
  • ARQ-1435 - Update Arquillian Core in Drone to 1.1.0.Final
  • ARQ-1452 - Update selenium to 2.33.0
Feature Request
  • ARQ-994 - Allow Arquillian Drone to wait asynchronously for instance creation
  • ARQ-1424 - Automatic resolution of PhantomJS binary for PhantomJS driver use
Bug
  • ARQ-754 - Change the way how Drone context is initialized
  • ARQ-1062 - Arquillian Drone Webdriver's OperaDriver depchain is not compatible with ShrinkWrap Resolver 1.0.0-beta-7
  • ARQ-1111 - Allow Extension to start without arquillian.xml

Thanks to the following list of contributors: Lukas Fryc, Karel Piwko, Jan PapouĊĦek

ShrinkWrap 1.2.0 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 release of the ShrinkWrap component!

What is ShrinkWrap?

ShrinkWrap is the simplest way to create archives in Java. Using the fluent and intuitive ShrinkWrap API, developers may assemble JARs, WARs, and EARs to be deployed directly by Arquillian during testing.

Release details

Component ShrinkWrap
Version 1.2.0 view tag
Release date 2013-08-07
Released by Andrew Lee Rubinger
Compiled against
  • JUnit – 4.8.2

Published artifacts org.jboss.shrinkwrap

  • org.jboss.shrinkwrap » shrinkwrap-api jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-api-nio2 jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-bom pom
  • org.jboss.shrinkwrap » shrinkwrap-depchain pom
  • org.jboss.shrinkwrap » shrinkwrap-depchain-java7 pom
  • org.jboss.shrinkwrap » shrinkwrap-impl-base jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-impl-nio2 jar javadoc pom
  • org.jboss.shrinkwrap » shrinkwrap-spi jar javadoc pom

Release notes and resolved issues 2

Feature Request
Task

Thanks to the following list of contributors: Andrew Lee Rubinger, Tair Sabirgaliev

Arquillian Core 1.1.1.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.1.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.1.Final view tag
Release date 2013-08-04
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

Minor enhancement

Bug
  • ARQ-1040 - The properties of container configuration in arquillian.xml are not parsed properly

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

Arquillian Google Guice Extension 1.0.0.Alpha2 Released

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

Some of the highlights in this release

Servlet integration

This release bring one new cool feature, integration with the Guice Servlet extension

The whole integration requires only two simple steps to make the test use the web configured Guice injector.

The first step is to replace the GuiceFilter with the ArquillianGuiceFilter:

web.xml
<filter>
   <filter-name>guiceFilter</filter-name>
   <filter-class>org.jboss.arquillian.guice.api.servlet.ArquillianGuiceFilter</filter-class>
</filter>

<filter-mapping>
   <filter-name>guiceFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping> 

This can also be done at runtime; by doing a simple string replacement in the web descriptor when creating the deployment or by using ShrinkWrap Descriptors.

The second step is to annotate your test with @GuiceWebConfiguration. This will instruct the extension to retrieve the injector from the servlet context.

Example test:

WebInjectorTestCase.java
@GuiceWebConfiguration
@RunWith(Arquillian.class)
public class WebInjectorTestCase {

   @Deployment
   public static Archive createTestArchive() {
       return ShrinkWrap.create(WebArchive.class, "guice-test.war")
               .addClasses(Employee.class,
                       EmployeeService.class, DefaultEmployeeService.class,
                       EmployeeRepository.class, DefaultEmployeeRepository.class,
                       EmployeeModule.class, EmployeeModuleContextListener.class)
               .addAsWebInfResource("WEB-INF/web.xml", "web.xml");
   }

   @Inject
   private EmployeeService employeeService;

   @Test
   public void testGetEmployees() {

       List<Employee> result = employeeService.getEmployees();

       assertNotNull("Method returned null list as result.", result);
       assertEquals("Two employees were expected.", 2, result.size());
   }
}

The test can go beyond a simple example like this and allow for injection of other resources like Guice configured servlets, filters and listeners.

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 Google Guice Extension
Version 1.0.0.Alpha2 view tag
Release date 2013-08-01
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-guice-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-guice-impl jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-guice-bom pom
  • org.jboss.arquillian.extension » arquillian-guice-int-tests jar javadoc pom

Release notes and resolved issues 3

Feature Request
  • ARQ-1447 - Inject Injector created through GuiceFilter.
Bug
  • ARQ-1439 - NoClassDefFoundError for MavenDependencyResolver when using Google Guice Extension

Thanks to the following list of contributors: Jakub Narloch, Aslak Knutsen