- Print
- DarkLight
Autify provides an official Jenkins plugin to run a test plan or test scenario easily from your Jenkins workflow.
Getting started
This document describes how to use our Autify Jenkins plugin step-by-step.
Prerequisites
First, we assume you already have a Jenkins Project or Pipeline to deploy your software to somewhere e.g. staging, production. We'll add an Autify test step right after the deployment step to confirm the newly deployed software doesn't break the end-to-end experience.
Secondly, you need to create a test plan or test scenario on Autify NoCode Web. The test scenario should be recorded against your target website where the software is deployed by your Jenkins. Please note the URL of your test plan or scenario e.g. https://app.autify.com/projects/00/scenarios/000
and we'll use it later.
You also need to create a personal access token of Autify for Web. Please note the generated token somewhere so that we can store the value on Jenkins Secrets later.
Since the personal access token is associated with a single user, we recommend you to create a machine user in your organization and use its personal access token for CI/CD integration.
Install plugin
Open the Autify Plugin page and click "How to install" on the top right. You'll see the installation options like below:
Store personal access token on Jenkins Secrets
Store the personal access token you generated above on Secrets by following Jenkins's document. Use "Secret text" for "Kind" and you can name an arbitrary "ID". Assuming you named it autifyWebAccessToken
here:
Add a build step to run Autify for Web
Finally, let's add a new step to your existing Jenkins Project or Pipeline.
Jenkins Project
Go to configuration of your Project and click "Add build step" under "Build" and select "Run test on Autify for Web":
Then, select the ID of the Secret you created above e.g. autifyWebAccessToken
from the select box of "Personal Access Token of Autify for Web" and paste the URL noted above e.g. https://app.autify.com/projects/00/scenarios/000
to "Autify for Web test URL".
See the examples below.
Simply start a test and finish the step (no waiting for the finish of the test):
Start a test and wait until the test finishes or timed out - Check "Wait?":
Use "URL replacements" to start your test plan or scenario against a different URL - Click "Advanced" and "Add" for "URL replacements":
"URL replacements" is useful when you want to test your staging website using a test scenaio recorded against your production website, for example.
Jenkins Pipeline
Open your Jenkinsfile
or Pipeline configuration page and insert the step below right after your deployment step.
Simply start a test and finish the step (no waiting for the finish of the test):
autifyWeb credentialsId: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000'
Start a test and wait until the test finishes or timed out:
autifyWeb credentialsId: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000', wait: true
Use urlReplacements
to start your test plan or scenario against a different URL:
autifyWeb credentialsId: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000', urlReplacements: [[patternUrl: 'http://example.com', replacementUrl: 'http://example.net']]
--url-replacements
is useful when you want to test your staging website using a test scenaio recorded against your production website, for example.
(Not recommended) Using "Execute shell" step
If you don't want to use our Jenkins plugin or it has an issue, you can use "Execute shell" step instead.
Here is the summary of the process:
- Install the following plugins if you don't have yet:
- Store the personal access token as described above.
- Add "Execute shell" build step:
- Jenkins Project:
- Add the Secret to "Build Environment" > "Bindings" (Use
AUTIFY_WEB_ACCESS_TOKEN
as "Variable") - Add "Execute shell" build step e.g.:
curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-cicd.bash | bash -xe ./autify/bin/autify web test run https://app.autify.com/projects/00/scenarios/000
- Add the Secret to "Build Environment" > "Bindings" (Use
- Jenkins Pipeline:
- Add
sh
step surrounded bywithCredentials
e.g.:
withCredentials([string(credentialsId: 'autifyWebAccessToken', variable: 'AUTIFY_WEB_ACCESS_TOKEN')]) { sh ''' curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-cicd.bash | bash -xe ./autify/bin/autify web test run https://app.autify.com/projects/00/scenarios/000 ''' }
- Add
- Jenkins Project:
Note: You can customize the Autify CLI command in the shell step as you like. See Autify CLI's documentation for more details.
Conclusion
By using Autify's Jenkins plugin (or shell step), you can automatically run a test plan or scenario after deployments so that you can detect regressions right away and take an appropriate actions without wasting time.