-
Notifications
You must be signed in to change notification settings - Fork 99
Home
This project assists in testing (SOAP) web services and web applications by providing an application to define and run tests. To this end it contains a baseline installation of Fitnesse (an acceptance testing wiki framework) and some FitNesse fixture (base) classes.
The fixtures provided aim to assist in testing (SOAP) web services and web applications (using Selenium) minimizing the amount of (custom) Java code needed to define tests.
The baseline Fitnesse installation offers the following features:
- Ability to easily create a standalone (no JDK or Maven required) Fitnesse environment.
- Run Fitnesse tests on a build server, reporting the results in both JUnit XML format and HTML.
- Fitnesse installation for fixture developers containing:
- the fixture base classes (and Selenium drivers from Chrome and Internet Explorer),
-
Maven class path plugin (such that tests can use all dependencies from
pom.xml
), - HSAC’s fitnesse-plugin to add additional Wiki features (random values, calculating relative dates, Slim scenarios without need to specify all parameters, Slim scripts that take a screenshot after each step),
- easy fixture debugging,
To create a standalone installation execute
mvn clean test dependency:copy-dependencies
The standalone installation is present in the wiki
directory (and can be distributed by just copying this directory).
This standalone installation can be started using
java -jar fitnesse-standalone.jar
from the wiki
directory.
A zip file containing the standalone version of the latest version of this project: can be downloaded from the Cloud Bees build server.
To run the tests on a build server have the build server checkout the project and execute
mvn clean test-compile failsafe:integration-test
The result in JUnit XML results can be found in: target/failsafe-reports
(most build servers will pick these up automatically)
The HTML results can be found in: target/fitnesse-results/index.html
The Fitnesse suite to run can be specified by changing the value of the @Suite
annotation’s value in nl.hsac.fitnesse.fixture.FixtureDebugTest
,
or (preferably) by adding a system property, called fitnesseSuiteToRun
, specifying the suite to run to the build server’s mvn execution.
The Selenium configuration (e.g. what browser on what platform) to use when testing websites can be overridden by using system properties (i.e. seleniumGridUrl
and either seleniumBrowser
or seleniumCapabilities
). This allows different configurations on the build server to test with different browsers, without requiring different Wiki content, but only requiring a different build configuration.
Example configurations for Windows and OSX have been set up at Cloud Bees showing what kind of report a run using a Sauce Labs selenium driver generates.
Import this project in your favorite Java IDE (with Maven support).
To start Fitnesse: have the IDE execute
mvn compile exec:exec
The port used by Fitnesse can be controlled by changing the fitnesse.port
property’s value in pom.xml
.
Fitnesse will be available at http://localhost:/
To debug a fixture used in a Fitnesse page: change @Suite
annotation’s value to contain page name in nl.hsac.fitnesse.fixture.FixtureDebugTest
, then just debug this test.
To ensure the fixtures (and all dependencies as specified in the project’s pom.xml
) are available, add the following lines to the root Wiki page containing the tests.
!path fixtures
!path fixtures/*.jar
!pomFile ../pom.xml@compile
The first two will ensure all classes are accessible when working standalone, the last will be used by Java developers changing fixtures (with a Maven installation).