arquillian-extension-drone

Arquillian Drone provides a simple way to write functional tests for web apps. Drone brings the power of WebDriver into the Arquillian, and the power of Arquillian to WebDriver.

Stars
56

= Arquillian Drone image:https://travis-ci.org/arquillian/arquillian-extension-drone.svg["Build Status", link="https://travis-ci.org/arquillian/arquillian-extension-drone"] :asciidoctor-source: https://raw.githubusercontent.com/arquillian/arquillian-extension-drone/master/docs :numbered: :sectlink: :sectanchors: :sectid: :source-language: java :source-highlighter: coderay :sectnums: :icons: font :toc: left

ifndef::generated-doc[] To read complete documentation visit http://arquillian.org/arquillian-extension-drone/ endif::generated-doc[]

The Arquillian Drone 2 extension for Arquillian provides a simple way to include functional tests for an application with a web-based user interface.

Arquillian Drone 2 brings the power of WebDriver into the Arquillian framework. WebDriver serves as a language to communicate with the browser, by filling the forms, navigating the pages and validating their content.

Compared with its predecessor Arquillian Drone 1, it offers http://github.com/arquillian/arquillian-extension-drone/wiki/SPI-changes-in-Drone-2[new features and tools] as part of the SPI as well as http://github.com/arquillian/arquillian-extension-drone/wiki/API-changes-in-Drone-2[multiple life cycle scopes of @Drone points] as part of the API.

== Why should I use Arquillian Drone instead of plain WebDriver? There are many reasons why you want to do that, the most important being:

If you are still not convinced that Arquillian Drone matches your needs, you might have a look at https://github.com/arquillian/arquillian-graphene[Arquillian Graphene 2], which is a wrapper on top of WebDriver, goes one step further and provides you a convenient way how to write tests for rich AJAX UIs with an ease, injections for Page Objects and Page Fragments and much more.

ifdef::generated-doc[]

include::{asciidoctor-source}/drone-getting-started.adoc[]

include::{asciidoctor-source}/automatic-download.adoc[]

include::{asciidoctor-source}/supported-frameworks.adoc[]

include::{asciidoctor-source}/maven-setup.adoc[]

include::{asciidoctor-source}/life-cycle-scope-of-drone-points.adoc[]

include::{asciidoctor-source}/configuring-drone-instances.adoc[]

include::{asciidoctor-source}/drone-spi.adoc[]

endif::generated-doc[]

== Building the project

Prerequisites:

  • JDK 8 and newer
  • Maven 3.0.3 and newer

=== Running test suite

To run only unit tests:

[source]

mvn clean test

To run the whole test suite including functional tests using chrome browser.

[source]

mvn clean verify -Dbrowser=chrome

In case you want to modify the browser, you can specify -Dbrowser=firefox for instance. This will run the test suite using firefox defined. Similarly, you can use Chrome, Safari, etc...

TIP: VNC server instance can be used to let all the browsers pop out in separate display. Just prepend both commands with +DISPLAY=:${display.number}+

=== Releasing new version

Run following commands:

[source,bash] mvn clean release:prepare release:perform

Make sure that you push the tag, close all issues with given version in JIRA and mark version as released.

Package Rankings
Top 14.05% on Repo1.maven.org
Related Projects