Skip to content
Acceptance tests cases for Jenkins and its plug-ins based on selenium and docker.
Java PHP Dockerfile Shell Groovy Ruby Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix the Release Drafter configuration Sep 9, 2019
docs Merge pull request #556 from olivergondza/prototype-containerized-sel… Feb 14, 2020
etc/templates Generate page object assertions during build. Feb 11, 2019
src Merge remote-tracking branch 'upstream/master' into JENKINS-62172_cru… May 18, 2020
vagrant recording the locations of the box files Feb 15, 2013
veewee adding tools necessary for tests Feb 15, 2013
.gitignore Merge branch 'master' into JENKINS-59359-cleanup Oct 10, 2019
Jenkinsfile Make sure we have the workspace Oct 23, 2019 Add badge for CI build results. Feb 24, 2020 Permit to be called cross-dir Feb 15, 2019
dockerinject.groovy Clean up and added Comments Apr 12, 2014 Reverted file permissions May 7, 2014 Reverted file permissions May 7, 2014
pom.xml [maven-release-plugin] prepare for next development iteration May 19, 2020 Move scripts to be invoked from container to the container itself Feb 15, 2019 Move scripts to be invoked from container to the container itself Feb 15, 2019
single-plugin.groovy Fix UI plugin installation/upload Oct 27, 2016
unsafe.key forgot to set the home correctly Mar 19, 2014 Move scripts to be invoked from container to the container itself Feb 15, 2019

Acceptance tests for Jenkins


End to end test suite for Jenkins automation server and its plugins.

The scenarios are described in the form of tests controlling Jenkins under test (JUT) through UI / REST APIs. Clean instances are started for individual tests to isolate the tests. The harness provides convenient docker support so integration tests can be written easily.

Getting Started

The simplest way to start the harness is calling BROWSER=firefox JENKINS_VERSION=2.73 mvn test. The complete test suite takes hours to run due to the number of covered components/use-cases, the cost of Jenkins setup, and selenium interactions. That can be avoided by selecting a subset of tests to be run - smoke tests for instance.

Running tests

The harness provides a variety of ways to configure the execution including:

Creating tests

Given how long it takes for the suite to run, test authors are advised to focus on the most popular plugins and use-cases to maximize the value of the test suite. Tests that can or already are written as a part of core/plugin tests should be avoided here as well as tests unlikely to catch future regressions (reproducers for individual bugs, boundary condition testing, etc.). Individual maintainers are expected to update their tests reflecting core/plugin changes as well as ensuring the tests does not produce false positives. Tests identified to violate this guideline might be removed without author's notice for the sake of suite reliability.

Areas where acceptance-tests-harness is more suitable then jenkins-test-harness are:

  • Installing plugins for cross-plugin integration
  • Running tests in a realistic classloader environment
  • Verifying UI behaviour in an actual web browser
You can’t perform that action at this time.