Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Robust Functional Tests leveraging WebDriver with flavour of sexy AJAX-ready API
Java JavaScript HTML Other

Propagate xhr.response values in callback

When the xhr wrapper is created the response property is copied but it isn't updated in the callback, which leads to the property values' being out of sync. Some frameworks (e.g. Angular) will use the xhr.response over xhr.responseText if it is present, which means that simply using a guardAjax in a Graphene test will cause all subsequent xhr calls to return invalid data. In my case (Firefox 38, Angular 1.4.4, Graphene 2.0.3.Final) all $http calls would return "" once a guardAjax was executed, despite valid data being shown in Firefox's request log.
latest commit c89e37d2d4
@Vulcannis Vulcannis authored

Arquillian Graphene 2 Build Status

Robust Functional Tests leveraging WebDriver with flavour of sexy AJAX-ready API

Graphene 2 project is designed as set of extensions for Selenium WebDriver project focused on rapid development and usability in Java environment.

  • API is straightforward and enforces tester to write Ajax-enabled and reusable tests,
  • encourages to write tests in a appropriate level of abstraction using Page Objects and Page Fragments,
  • the code is robust with improved readability,
  • helps to write tests portable across browsers,
  • it enables JQuery selectors as a location strategy for advanced locators
  • brings concepts for on-the-fly injection of extensions to a page code (enabling advanced testing features)
  • can take screenshots while testing (see screenshooter extension), and together with other useful info generate neat reports (see Arquillian Recorder extension)

With all the concepts above, Graphene brings new power to space of Java-based testing.

Project Info

License: LGPL v2.1 or ASL v2.0 (dual-licensed)
Build: Maven
Issue tracker:

Getting Started

There is comprehensive guide Functional Testing using Drone and Graphene.

You can also use Getting Started guide in the Documentation.


Community contributions are essential for maintaining the vitality of the Arquillian project.

Contributing to the project helps to deliver functionality you need and allows you to share your code with other contributors and users.

We want to keep it as easy as possible to contribute your changes and we will work hard to deliver your contributions in an upcoming release.

Please refer to How to Contribute to find related instructions.

Building the Project


  • JDK 1.6+
  • Maven 3.0.3+

How-to build project

mvn clean install

Running Integration Tests

mvn clean install

cd ftest/
mvn clean verify -Dbrowser=firefox
mvn clean verify -Dbrowser=chrome
mvn clean verify -Dbrowser=phantomjs
Something went wrong with that request. Please try again.