Graphene 2.0.0.Alpha1 Released

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

The Arquillian team is proud to announce the 2.0.0.Alpha1 release of the Graphene 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 Graphene
Version 2.0.0.Alpha1 view tag
Release date 2012-05-24
Released by Lukas Fryc
Compiled against

Published artifacts org.jboss.arquillian.graphene

  • org.jboss.arquillian.graphene » graphene-parent pom
  • org.jboss.arquillian.graphene » graphene-selenium-parent pom
  • org.jboss.arquillian.graphene » graphene-selenium-api jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-selenium-impl jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-selenium-drone jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-selenium pom
  • org.jboss.arquillian.graphene » graphene-webdriver-parent pom
  • org.jboss.arquillian.graphene » graphene-webdriver-impl jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-webdriver-drone jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-webdriver pom
  • org.jboss.arquillian.graphene » arquillian-graphene pom

Release notes and resolved issues 3

Thread-local context support

Enhancement
  • ARQGRA-136 - Replace mockito dependency with cglib
Feature Request
  • ARQGRA-56 - Support Thread-Local Context with Selenium 2

Thanks to the following list of contributors: Lukas Fryc

Graphene 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 Graphene component!

Graphene is joining rest of the Arquillian party, building on top of Arquillian testing platform Drone extension, both which reached their first stable version yesterday.

The Mission

Arquillian Graphene focuses on making real-browser automation a breeze.

The project was started to address simplification of covering AJAX-enabled applications with browser automation tests.

While Selenium project is focusing on unified API, integration with variety of browsers, Graphene project is addressing the real-world testing challenges:

  • rapid development
    • straight-forward
    • readable API
    • fast turnaround
  • object-oriented
    • type-safe API
    • dependency injection of thread-local context
  • instabilities and speed of execution in continuous integration
    • jQuery selectors
    • request guards

Availability

The Graphene bits are available in JBoss Community artifact repository, dual-licensed under LGPL v2.1 (backward-compatibility) and ASL v2.0 (which uses rest of the Arquillian sub-projects).

For those who are already using Graphene in a Maven project, you can simply update the version to 1.0.0.Final.

You can start with the tests using our Getting Started with the JBoss Maven repository guide.

The Future

Right now we are heavily working on making the new version of Graphene 2 on the road.

Selenium 2 with its WebDriver API made huge progress with API accessibility and readability. It’s already pleasure to work with this API in Java world.

However still there are many shortcomings we are going to address with Graphene 2, building on top of concepts brought in Graphene 1 and adding new features, which opens world of new possibilities:

  • dependency injection of thread-local context
  • fast development turnaround
  • cross-cutting concerns (command interception)
  • request guards
  • page extensions
  • component objects
    • extension of page objects concept
  • JavaScript test execution from within Selenium test

If you enjoy testing and you are unsatisfied with the current browser automation tooling, it’s perfect time to step in and help us to bring the future!

Project Links

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 Graphene
Version 1.0.0.Final view tag
Release date 2012-04-11
Released by Lukas Fryc
Compiled against

Published artifacts org.jboss.arquillian.graphene

  • org.jboss.arquillian.graphene » graphene-parent pom
  • org.jboss.arquillian.graphene » graphene-selenium-parent pom
  • org.jboss.arquillian.graphene » graphene-selenium-api jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-selenium-impl jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-selenium-drone jar javadoc pom
  • org.jboss.arquillian.graphene » graphene-selenium pom
  • org.jboss.arquillian.graphene » arquillian-graphene pom

Release notes and resolved issues 8

Component Upgrade
  • ARQGRA-140 - Upgrade to Arquillian Core/Drone 1.0.0.Final
Feature Request
  • ARQGRA-142 - Refactor Graphene 1 to allow addition of Graphene 2 bits
  • ARQGRA-143 - Add license file to the project
  • ARQGRA-144 - Add section about Drone/Graphene usage in Getting Started guide
Bug
Task
  • ARQGRA-93 - Add README to the GitHub repository
  • ARQGRA-139 - Blog about releasing Graphene 1 Final
  • ARQGRA-145 - Update dependency versions in docs

Thanks to the following list of contributors: Lukas Fryc

Goodbye, Ajocado - Welcome, Graphene!

Goodbye, Ajocado

Wait, the Ajocado project is not leaving us!
It is just undergoing rename.
Why such a change?

Ajocado has always been a proud member of Arquillian family, however its name didn’t tell very well what’s its purpose is in the true alien world. In other words, the name didn’t fit the story.

Moreover, we have experienced many troubles explaining how Ajocado should be even pronounced.

I must admit it was unlucky choice.

Choosing the new name…

The project is like a diamond – very strong in its basis:

  • a strongly-typed, chaining API
  • efficient jQuery-based locators
  • proven to handle AJAX successfully

But on the other hand, diamonds can’t be simply manufactured.

Let’s look what more could Ajocado offer us:

  • rapid test development
  • readability
  • high-level abstractions

What can be as strong as diamond, but be much more flexible?

Welcome, Graphene

Graphene is stronger and stiffer than diamond, yet can be stretched by a quarter of its length, like rubber.

Let me introduce the Graphene – the strong and flexible UI automation tool – the old/new member of the alien crew, on the way to save the world!

What’s next?

The rename is already done, waiting in Maven repositories as Graphene 1.0.0.CR3.

And what about migration? It’s pretty straight-forward, as you can see in my previous post.

Thank you all who participated in choosing new name, renaming and migration testing (Vlasta Elias, Dan Allen, Jan Papousek, Karel Piwko)!

Project Links

Graphene 1.0.0.CR3 Released & How To Migrate from Ajocado

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.CR3 release of the Graphene component!

The project Ajocado has been renamed to Graphene.

The first release under the new name waits for you in Maven repositories.

Migration Path

Fortunately, the migration to new name in your project is very smooth, you can even continue to use original APIs.

Java Classes

The packages of the Java classes have not been renamed, the only change is addition of three new interfaces/utilities and deprecation of the old ones:

  • Ajocado → Graphene
  • AjaxSelenium → GrapheneSelenium
  • AjocadoConfiguration → GrapheneConfiguration
  • AjocadoContext → GrapheneSeleniumContextM
  • AjocadoConfigurationContext → GrapheneConfigurationContext

The original names has been deprecated, but it doesn’t prevent to use current tests as they are – the deprecated classes will continue to be part of the project.

Configuration

The simple change in the arquillian.xml descriptor is needed, you just need to change ajocado to graphene:

<extension qualifier="graphene">
    ...
</extension>

Maven Artifacts

The most significant change underwent dependency system, so let me talk a more little bit about that:

In Ajocado CR2, there was only one dependency necessary to import all the JUnit/TestNG and all Arquillian dependencies.

In Graphene CR3, you need to manage several dependencies – however it makes your usage of dependencies little more cleaner, since you know exactly what dependencies are imported.

At first, you need to import JUnit/TestNG dependency:

Test Framework

JUnit

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.8.2</version>
    <scope>test</scope>
</dependency>

TestNG

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>5.14.6</version>
    <scope>test</scope>
</dependency>

Additionally, you need to choose between using Graphene as standalone or use Arquillian integration with containers:

Standalone Usage

In this mode, you don’t use integration with containers, you need to manage the container and deployment at own:

Arquillian JUnit Standalone

<dependency>
    <groupId>org.jboss.arquillian.junit</groupId>
    <artifactId>arquillian-junit-standalone</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Arquillian TestNG Standalone

<dependency>
    <groupId>org.jboss.arquillian.testng</groupId>
    <artifactId>arquillian-testng-standalone</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Container usage

In the container mode, you need to provide deployable archive (@Deployment) and the whole lifecycle of the container and deployment will be managed by Arquillian:

Arquillian JUnit Container

<dependency>
    <groupId>org.jboss.arquillian.junit</groupId>
    <artifactId>arquillian-junit-container</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Arquillian TestNG Container

<dependency>
    <groupId>org.jboss.arquillian.testng</groupId>
    <artifactId>arquillian-testng-container</artifactId>
    <version>1.0.0.CR7</version>
    <scope>test</scope>
</dependency>

Graphene Dependency Chain

And finally it’s necessary to import Arquillian Graphene dependency chain, which includes all other necessary dependencies (Graphene, Drone, Selenium):

Graphene Dependency Chain

<dependency>
    <groupId>org.jboss.arquillian.graphene</groupId>
    <artifactId>arquillian-graphene</artifactId>
    <version>1.0.0.CR3</version>
    <type>pom</type>
    <scope>test</scope>
</dependency>

What’s next?

We are preparing to release Final later soon, the same as other dependencies in Arquillian ecosystem.

Thanks all the people who helped to test migration (Jan Papousek, Karel Piwko), so it is now pretty smooth.

Project Links

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 Graphene
Version 1.0.0.CR3 view tag
Release date 2012-03-15
Released by Lukas Fryc
Compiled against

Published artifacts org.jboss.arquillian.graphene

  • org.jboss.arquillian.graphene » arquillian-graphene-parent pom
  • org.jboss.arquillian.graphene » arquillian-graphene-api jar javadoc pom
  • org.jboss.arquillian.graphene » arquillian-graphene-impl jar javadoc pom
  • org.jboss.arquillian.graphene » arquillian-graphene-drone jar javadoc pom
  • org.jboss.arquillian.graphene » arquillian-graphene pom

Release notes and resolved issues 15

Component Upgrade
  • ARQGRA-21 - Upgrade Arquillian Core, Arquillian Drone and Shrinkwrap
  • ARQGRA-23 - Upgrade to JBoss Parent version 8
Enhancement
  • ARQGRA-32 - Remove javassist dependency
  • ARQGRA-33 - Classes Point, Dimension and Offset should override default equals and hashCode
  • ARQGRA-36 - Split arquillian-testng/junit to support -standalone and -container version
Feature Request
  • ARQGRA-54 - Thread-Local Contexts section in docs should be more clean even for people not so familiar with given topic
  • ARQGRA-59 - support for configurating arquillian.xml during runtime for matrix browser compability jobs
  • ARQGRA-61 - Umbrella: Rename the project to Graphene
Task
  • ARQGRA-97 - Remove repositories definition from pom.xml
  • ARQGRA-106 - Review usage of Shrinkwrap version definition
Sub-task
  • ARQGRA-88 - Test migration path for renaming Ajocado to Graphene
  • ARQGRA-89 - Rename project to Graphene - wiki/docs
  • ARQGRA-90 - Blog about renaming to Graphene
  • ARQGRA-91 - Rename JIRA project name to ARQGRA
  • ARQGRA-92 - Rename GitHub repository to arquillian-graphene

Thanks to the following list of contributors: Lukas Fryc, Juraj Huska, Karel Piwko, Pavol Pitonak

Graphene 1.0.0.CR2 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.CR2 release of the Graphene 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 Graphene
Version 1.0.0.CR2 view tag
Release date 2011-10-17
Released by Lukas Fryc
Compiled against

Published artifacts org.jboss.arquillian.ajocado

  • org.jboss.arquillian.ajocado » arquillian-ajocado-api jar javadoc pom
  • org.jboss.arquillian.ajocado » arquillian-ajocado-impl jar javadoc pom
  • org.jboss.arquillian.ajocado » arquillian-ajocado-drone jar javadoc pom

Release notes and resolved issues 12

Component Upgrade
  • ARQGRA-17 - Update Selenium version to 2.5.0
  • ARQGRA-18 - Update managed container to AS 7.0.1
  • ARQGRA-19 - Update jboss-parent to version 6
  • ARQGRA-20 - Update Ajocado dependency on Arquillian to CR4
  • ARQGRA-22 - Upgrade Arquillian Drone dependency to 1.0.0.CR2
Feature Request
  • ARQGRA-37 - Complete Documentation
  • ARQGRA-65 - Provide support for Google Chrome browser in Ajocado
  • ARQGRA-81 - Register AjaxAwareInterceptor to be able to use its features in ftests
Bug
Task
Sub-task
  • ARQGRA-128 - Review Implementation Code, Style and JavaDoc
  • ARQGRA-130 - Review Ftest module Code, Style and JavaDoc

Thanks to the following list of contributors: Lukas Fryc, Karel Piwko, Juraj Huska, Jozef Hartinger