Integrate with CI/CD systems

LoadRunner Developer tests can be integrated with your Jenkins, Azure Pipelines, or other continuous integration (CI/CD) tools, to provide results reports, and SLA results analysis.

Integrating with CI systems

You can use LoadRunner Developer to run automated test executions after the software build or deployment, and include tests in your automated regression testing.

You can also trigger build failures based on SLA rule definitions. LoadRunner Developer supports JUnit reporting, enabling easy access to test run reports in your CI tool. Using the JUnit report, you can view a real-time indication of success or failure. The CI can also be directed to archive the JUnit test reports for reference.

Tip: Check out the video on Support in Microsoft Azure.

Back to top

Determining SLA results

You can use LoadRunner Developer to run automated tests through your CI/CD tool to trigger build failures based on SLA rule definitions.

As each CI tool may have different steps, the following provides a general overview of how to use DevWeb to monitor your SLA.

  1. Define SLA rules for your performance script.
  2. Add a step in your CI job.
  3. Execute the performance script using DevWeb. At the end of the step, DevWeb generates a report, for example a JUnit report.
  4. Add a second step in your CI job to archive the results as unit tests.
  5. (Optional) Fail or Pass your CI job based on the SLA results.

Back to top

Jenkins example

The following example illustrates a Jenkinsfile pipeline running a DevWeb script that marks SLA noncompliance as a failure.

// Jenkinsfile - scripted pipeline

node("executingAgent") {

// … previous stages

stage("Performance testing") {

bat 'python run_devweb_scripts.py' //Execute the DevWeb scripts with SLA enabled (bat for Windows, sh for Unix).

junit 'scripts/**/SLA-report-JUnit.xml' //Archive the results, where the scripts are in the 'script' folder and the report name is 'SLA-report-JUnit.xml'.

if (currentBuild.result == 'UNSTABLE') { //If the JUnit sets the execution to unstable, set it to failure (i.e. if there was a JUnit failure)

currentBuild.result = 'FAILURE'

}

}

// … additional stages

}

Back to top

See also: