Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arquillian/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.
https://github.com/arquillian/arquillian-extension-drone
java jvm selenium test-automation testing webdriver
Last synced: 11 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/arquillian/arquillian-extension-drone
- Owner: arquillian
- Created: 2011-03-26T16:24:18.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2024-10-21T17:06:14.000Z (17 days ago)
- Last Synced: 2024-10-22T04:08:45.492Z (17 days ago)
- Topics: java, jvm, selenium, test-automation, testing, webdriver
- Language: Java
- Homepage:
- Size: 2.8 MB
- Stars: 57
- Watchers: 19
- Forks: 51
- Open Issues: 4
-
Metadata Files:
- Readme: README.adoc
- Support: docs/supported-frameworks.adoc
Awesome Lists containing this project
README
= 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: leftifndef::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:* Life cycle management of the browser
* Interaction with deployments and containers provided by Arquillian
* Simple usage of multiple browsers in a single test
* Configuration kept on a single place, outside of the Java code
* Fully compatible with the IDE
* Integration with mobile based browsers testing (https://github.com/arquillian/arquillian-droidium[Arquillian Droidium])
* Integration of JavaScript test suite execution (https://github.com/arquillian/arquillian-extension-qunit[Arquillian QUnit])
* Compatible with WebDriver (Selenium 2) and Selenium GridsIf 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:performMake sure that you push the tag, close all issues with given version in JIRA and mark version as released.