Arquillian Drone Extension Support for Selenium Server

Extension for functional testing based on web view layer (Ajocado, Selenium, WebDriver)

License

License

Categories

Categories

JBoss Container Application Servers Arquillian Application Testing & Monitoring
GroupId

GroupId

org.jboss.arquillian.extension
ArtifactId

ArtifactId

arquillian-drone-selenium-server
Last Version

Last Version

2.0.1.Final
Release Date

Release Date

Type

Type

jar
Description

Description

Arquillian Drone Extension Support for Selenium Server
Extension for functional testing based on web view layer (Ajocado, Selenium, WebDriver)
Project URL

Project URL

http://www.jboss.org/arquillian-drone-selenium-server
Project Organization

Project Organization

JBoss by Red Hat

Download arquillian-drone-selenium-server

How to add to project

<!-- https://jarcasting.com/artifacts/org.jboss.arquillian.extension/arquillian-drone-selenium-server/ -->
<dependency>
    <groupId>org.jboss.arquillian.extension</groupId>
    <artifactId>arquillian-drone-selenium-server</artifactId>
    <version>2.0.1.Final</version>
</dependency>
// https://jarcasting.com/artifacts/org.jboss.arquillian.extension/arquillian-drone-selenium-server/
implementation 'org.jboss.arquillian.extension:arquillian-drone-selenium-server:2.0.1.Final'
// https://jarcasting.com/artifacts/org.jboss.arquillian.extension/arquillian-drone-selenium-server/
implementation ("org.jboss.arquillian.extension:arquillian-drone-selenium-server:2.0.1.Final")
'org.jboss.arquillian.extension:arquillian-drone-selenium-server:jar:2.0.1.Final'
<dependency org="org.jboss.arquillian.extension" name="arquillian-drone-selenium-server" rev="2.0.1.Final">
  <artifact name="arquillian-drone-selenium-server" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jboss.arquillian.extension', module='arquillian-drone-selenium-server', version='2.0.1.Final')
)
libraryDependencies += "org.jboss.arquillian.extension" % "arquillian-drone-selenium-server" % "2.0.1.Final"
[org.jboss.arquillian.extension/arquillian-drone-selenium-server "2.0.1.Final"]

Dependencies

compile (3)

Group / Artifact Type Version
org.jboss.arquillian.extension : arquillian-drone-api jar 2.0.1.Final
org.jboss.arquillian.extension : arquillian-drone-spi jar 2.0.1.Final
org.jboss.arquillian.extension : arquillian-drone-configuration jar 2.0.1.Final

provided (1)

Group / Artifact Type Version
org.seleniumhq.selenium : selenium-server jar

test (15)

Group / Artifact Type Version
org.seleniumhq.selenium : selenium-chrome-driver jar
org.seleniumhq.selenium : selenium-firefox-driver jar
org.seleniumhq.selenium : selenium-ie-driver jar
org.seleniumhq.selenium : selenium-remote-driver jar
org.seleniumhq.selenium : htmlunit-driver jar 2.20
com.opera : operadriver jar 1.5
org.jboss.arquillian.extension : arquillian-phantom-driver jar 1.2.1.Final
org.jboss.arquillian.junit : arquillian-junit-core jar
junit : junit jar 4.11
org.jboss.arquillian.core : arquillian-core-impl-base jar
org.jboss.arquillian.test : arquillian-test-impl-base jar
org.jboss.arquillian.test : arquillian-test-impl-base jar 1.1.11.Final
org.jboss.arquillian.core : arquillian-core-impl-base jar 1.1.11.Final
org.jboss.arquillian.config : arquillian-config-impl-base jar
org.mockito : mockito-all jar

Project Modules

There are no modules declared in this project.

Arquillian Drone Build Status

To read complete documentation visit http://arquillian.org/arquillian-extension-drone/

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 new features and tools as part of the SPI as well as multiple life cycle scopes of @Drone points as part of the API.

1. 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 (Arquillian Droidium)

  • Integration of JavaScript test suite execution (Arquillian QUnit)

  • Compatible with WebDriver (Selenium 2) and Selenium Grids

If you are still not convinced that Arquillian Drone matches your needs, you might have a look at 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.

2. Building the project

Prerequisites:

  • JDK 8 and newer

  • Maven 3.0.3 and newer

2.1. Running test suite

To run only unit tests:

mvn clean test

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

mvn clean verify -Dbrowser=phantomjs

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}

2.2. Releasing new version

Run following commands:

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.

org.jboss.arquillian.extension

An Innovative Testing Platform for the JVM

Versions

Version
2.0.1.Final
2.0.0.Final
2.0.0.CR1
2.0.0.Beta1
2.0.0.Alpha5
2.0.0.Alpha4
2.0.0.Alpha3
2.0.0.Alpha2
2.0.0.Alpha1
1.3.1.Final
1.3.0.Final
1.2.4.Final
1.2.3.Final
1.2.2.Final
1.2.1.Final
1.2.0.Final
1.2.0.CR1
1.2.0.Beta2
1.2.0.Beta1
1.2.0.Alpha3
1.2.0.Alpha2
1.2.0.Alpha1
1.1.1.Final
1.1.0.Final
1.1.0.CR3
1.1.0.CR2
1.1.0.CR1
1.0.0.Final
1.0.0.CR4
1.0.0.CR3
1.0.0.CR2
1.0.0.CR1