The Eggplant DAI Plugin for Jenkins launches DAI tests from within a Jenkins pipeline. You can use it to continuously test your application using Eggplant's model-based approach to testing. For more information about Eggplant, visit https://www.eggplantsoftware.com.
Step 1: Login to your Jenkins
Go to your Jenkins home page and login into your Jenkins account
Step 2: Manage Jenkins
-
Go to Available and enter Eggplant Runner in the search feature
-
Check on the Eggplant Runner and click on Install without restart
Step 1 : Create new project -> Freestyle project -> Click OK
Step 2: Add Eggplant Runner as build step
Step 3: Fill in Eggplant Runner parameter's value -> Click Save
[Required] The URL of the Eggplant DAI server, http(s)://dai_server_hostname:portnumber
.
[Required if testConfigName is not given] The ID of the Eggplant DAI test configuration that you want to run, e.g. 389fee3e-9d6b-43e6-b31e-f1d379f27cdf
.
Test configuration ID can be obtained by go to Test Config > Look for a particular test config > Test config id can be obtain from url
. Alternatively, use testConfigName and remove this input.
[Required if testConfigID is not given] The name of the Eggplant DAI test configuration that you want to run.
Must provide one of the following supporting arguments:
DAI model name for the specified test configuration. (Use this argument if only testConfigName is provided)
DAI suite name for the specified test configuration. (Use this argument if only testConfigName is provided)
[Required] The client ID to use to authenticate with the Eggplant DAI server.
[Required] The client secret to use to authenticate with the Eggplant DAI server.
Alternatively, you could set a repo secret in Repo Settings > Secrets > Actions
and refer to it like below:
clientSecret: "${{ secrets.DAI_CLIENT_SECRET }}"
.
The DAI Client Secret can be obtain by go to http(s):/dai_server_hostname:portnumber/ > System > API Access > Add New
. (for new API access creation)
[Optional] The timeout in seconds for each HTTP request to the Eggplant DAI server.
Default: 30
[Optional] The number of times to attempt each HTTP request to the Eggplant DAI server.
Default: 5
[Optional] The exponential backoff factor between each HTTP request.
Default: 0.5
[Optional] The logging level.
Default: INFO
[Optional] The path to an alternative Certificate Authority pem file.
[Optional] The path to a file where the test results will be stored in JUnit XML format.
Example C:\results\result.xml
[Optional] The path to Eggplant runner CLI executable.
[Optional] The global parameter(s) to override in the format parameter_name=parameter_value
.
Example username=Lily
You can override multiple parameters by separating them with a two semi-colon delimeter (;;
).
Example username=Lily;;city=Paris;;hobby=Jogging
Build the project to run the step
Execution details are shown in Console Output
Pipeline project
Step 1: Create Pipeline project
Step 2: Copy and paste below scripts into Pipiline script section
pipeline {
agent any
environment {
DAI_CLIENT_SECRET = credentials('eggplant-runner-client-secret')
}
stages {
stage('Eggplant Runner') {
steps {
// To run DAI test configuration by test config Id, use the following command
eggplantRunner serverURL: 'Your DAI server URL', testConfigId: 'Your test configuration that want to execute', clientId: 'Your DAI client ID'
// To run DAI Test Configuration by Test Config Name with model name, use the following command
// eggplantRunner serverURL: 'Your DAI server URL', testConfigName: 'Your model-based test configuration name', modelName: 'Your model name', clientId: 'Your DAI client ID'
// To run DAI Test Configuration by Test Config Name with suite name, use the following command
// eggplantRunner serverURL: 'Your DAI server URL', testConfigName: 'Your script-based test configuration name', suiteName: 'Your suite name', clientId: 'Your DAI client ID'
//Note: Only execute one of the command per each build step
}
}
}
}
⚠️ Usage of backslashes in script: Remember to escape backslashes by replace all instances of\
with\\
inside a string.
For example, rather than:CACertPath: "C:\certs\rootCA.cer"
you would use:CACertPath: "C:\\certs\\rootCA.cer"
Step 3: Setup Public Credential for Client Secret -> Click Ok
Step 4: Build the pipeline project Output are shown in Console Output
NEW for DAI 7.5: for pipeline porject in Mac, if parameters input having quotes "
, they need to be escaped.
DAI Version | Release |
---|---|
7.5.0-10 | latest (with bug fix. Now allows passes after re-run) |
7.5.0-9 | 0.0.1.280.vfc393dfee9f1 |
7.4.0-4 | 0.0.1.274.ve12295250d73 (with cve fix) 0.0.1.270.vcb_9192a_2c004 (works with 7.4.0-4) |
7.3.0-3 | 0.0.1.265.v56273b_eece56 |
7.2.0-4 | 0.0.1.261.v52442e5f8514 |
7.1.0-5 | 0.0.1.259.va_548428d4b_79 |
7.0.1-1 | 0.0.1.255.vd38258d75ca_6 |
7.0.0-3 | 0.0.1.252.v8e47de80211e |
6.5.0-3 | 0.0.1.247.va_7031a_586298 |
6.4.0-5 | 0.0.1.226.v1a_ff67035775 |
6.3.0-3 | 0.0.1.191.v72dea_07931b_6 | 0.0.1.189.v1e3397db_cee8 |
6.2.1-2 | 0.0.1.185.v9617008ee458 | 0.0.1.159.v8ed1d9f67f00 |
6.1.2-1 | 0.0.1.108.v32f1564b_19d0 |
This plug-in is licensed under the terms of the MIT license
30th May 2022
- Fix Jenkins Plugins "Eggplant Runner" Client Secret textbox behaviour.
You need to install the following dependencies if you want to contribute to the Eggplant DAI Runner for Jenkins:
- You can download and install Java 17 from the Eclipse Temurin website.
- Download Maven from the Apache Maven website. Make sure to download one of the binary archives (with bin in their name).
- To verify that Maven is installed, run the following command:
mvn -version
- You can use
launch.json
to run 'Debug (Attach)' to launch an local Jenkins instance for development.