Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Maven project that incorporates cuke4duke (Cucumber), Spring3, and Jetty + automated UI (Selenium) tests as a project jump start.

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

This is a Web Application Skeleton that is built using Maven.

The features are:
1. The Web Application is automatically deployed to the Server for integration-testing.
2. Cucumber is used to drive BDD scenarios aginst the Web Application, using Cuke4Duke.
3. The pageObjects approach has been used to model the Web Application for use by
   integration tests and Cucumber steps.
4. Spring 3 is used to autowire the components of the web app and the steps together.
5. Using Maven profiles, it will be possible to run the same Web tests against different
6. Uses Firefox as the browser used to drive the web application. This can be changed
   easily to HtmlUnit, Chrome or Internet Explorer.  See below.
7. Unit tests are run separately to integration tests.
8. There are checks on code Complexity and Duplication.
9. The database is setup and migrated automatically (Liquibase).

To use this project, clone it, installed the Java SDK and Maven 2, then issue the following
two commands from the projects root folder:

mvn -Dcucumber.installGems=true cuke4duke:cucumber
mvn clean integration-test

On initial run there will be a *lot* of things downloaded from Maven repositories. You
should see the following as amongst the last lines of the Maven output:

[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 seconds

*NOTE* When building the maven project for the first time there is a *LOT* of
cuke4duke dependencies downloaded, but just the first time. It takes a while, but only
the first time.  And now the weird part, if on the first run the Cucumber steps fail,
run 'mvn clean integration-test' again. This also only has to be done once.

If you want to change the browser used for driving the web site (default is Firefox) then
specify it on the command line with a Maven profile; firefox, htmlunit, ie and chrome are
valid profiles. For example, the following will run the test using HtmlUnit.

mvn clean integration-test -P htmlunit

If you have any feedback, please email me: james underscore ladd at hotmail dot com.
Something went wrong with that request. Please try again.