AgileTestware

CI/CD Integration

Use Dragonfly with TestRunner CLI, TestEngine Server, and Docker in CI pipelines.

Overview

Dragonfly integrates with CI/CD pipelines through:

  1. TestRunner CLI — the ReadyAPI command-line test runner
  2. TestEngine Server — the ReadyAPI remote execution server
  3. Docker — containerized TestEngine execution

TestRunner CLI

TestRunner CLI is included with ReadyAPI. Use it to run tests headlessly in CI pipelines.

Basic Invocation

testrunner.bat -PQC_URL=https://alm.example.com/qcbin \
  -PQC_Domain=DEFAULT \
  -PQC_Project=MyProject \
  -PQC_Username=user \
  -PQC_Password=pass \
  -PQC_TestPlanPath="Subject\Automation" \
  -PQC_TestSetFolder="Root\CI" \
  /path/to/project.xml

Jenkins Pipeline Example

pipeline {
  agent any
  stages {
    stage('API Tests') {
      steps {
        sh '''
          $READYAPI_HOME/bin/testrunner.sh \
            -PQCURL=${ALM_URL} \
            -PQC_Domain=${ALM_DOMAIN} \
            -PQC_Project=${ALM_PROJECT} \
            -PQC_Username=${ALM_USER} \
            -PQC_Password=${ALM_PASS} \
            -PQC_TestPlanPath="Subject/Automation" \
            -PQC_TestSetFolder="Root/Jenkins/Build-${BUILD_NUMBER}" \
            ${WORKSPACE}/ApiProject.xml
        '''
      }
    }
  }
}

TestEngine Server

TestEngine Server provides a REST API for remote test execution. Dragonfly works with TestEngine the same way it works with TestRunner CLI — project properties are passed via the execution request.

Execution Request

{
  "testSuiteName": "MySuite",
  "properties": {
    "QC_URL": "https://alm.example.com/qcbin",
    "QC_Domain": "DEFAULT",
    "QC_Project": "MyProject",
    "QC_Username": "user",
    "QC_Password": "pass",
    "QC_TestPlanPath": "Subject\\Automation",
    "QC_TestSetFolder": "Root\\CI"
  }
}

Docker

Run TestEngine with Dragonfly in Docker for containerized CI environments.

Dockerfile Example

FROM smartbear/testengine:latest
 
# Copy Dragonfly plugin and license
COPY dragonfly-plugin-x.x.x.jar /root/.soapui/plugins/
COPY dragonfly.key /root/.soapui/plugins/

Docker Run

docker run -d \
  -e QC_URL=https://alm.example.com/qcbin \
  -e QC_Domain=DEFAULT \
  -e QC_Project=MyProject \
  -p 8080:8080 \
  my-testengine-with-dragonfly

When using Docker, ensure the container can reach your ALM server over the network. For on-premise ALM behind a firewall, configure the appropriate network settings or use a container with VPN access.

On this page