[Legacy] Integrate TestNG with Universal Agent

[Updated on Jan 02, 2019] The new article, which provide more flexibility to integrate TestNG with Universal Agent, can be found at:

In this article you will learn how to integrate TestNG with Universal Agent.


  • The integration executes all the tests (all classes and methods) in your TestNG project every time Universal Agent get executed. If you want to execute specific TestNG tests that matches the scheduled Test Runs in qTest Manager, follow this article.
  • This article uses a sample TestNG project located at


  1. Activate Automation Integration
  2. Install and Register the Automation Host

Create TestNG Universal Agent

  1. From Launch, open the host machine where you want to create the new agent.
  2. Select the + New Agent button.

  3. The New Agent dialog will

  4. Enter the information listed below to create the new agent.

General Agent Information


  • Agent Name: name of the agent, e.g. TestNG Universal Agent
  • qTest Manager Project: select a qTest Manager project from which the agent is going to execute scheduled tests, e.g. qConnect Sample Project
  • Agent Type: Universal Agent

Pre-Execute Script

Enter the script below in the Pre-Execute Script editor, which is specific to the Operating System that the host is running.


if [ ! -d "/usr/local/var/testng-sample" ]
cd "/usr/local/var"
git clone
cd /usr/local/var/testng-sample
git pull --all


if not exist "D:\testng-sample" (
cd /d D:\
git clone
) else (
cd /d "D:\testng-sample"
git pull --all

Execute Command


  • If your host machine is running on Linux or Mac, select shell as the executor.
  • If your host machine is running on Windows, select batch as the executor.

Working Directory

  • If your host machine is running on Linux or Mac, enter /usr/local/var/testng-sample
  • If your host machine is running on Windows, enter D:\testng-sample

Execute Command

You will configure the Execute Command to execute our sample TestNG project with maven. 

Note: make sure you install maven to your host machine for the command to be executed successfully by Universal Agent.

Enter the command below in the Execute Command editor.

mvn clean compile package test

Path to Results

Optional field. Enter the value below to specify the path to the test result generated by TestNG.

  • If your host machine is running on Linux or Mac: /usr/local/var/testng-sample/target/surefire-reports/junitreports
  • If your host machine is running on Windows: D:\testng-sample\target\surefire-reports\junitreports

Result Parser

Optional field. Select JUnit for Java as the Result Parser.


  • If you want the Universal Agent to submit test results to qTest Manager, you must  specify values for both Path to Results and Result Parser. Otherwise, you must do that yourself via Execute Command.

The screenshot below shows how the new TestNG Agent is configured, on Mac.


Select SAVE to finish creating the agent. The agent will be available to next time host machine polls to qTest Launch.

Execute TestNG Universal Agent

  1. Access the host machine where the TestNG Universal Agent was created.
  2. Locate the agent in the Agents list and select the Run now button.
  3. The Universal Agent execution dialog will display.
  4. Select the Execute button to kick off the agent execution and you will see the logs shown in the Console Log section. If the execution is successful, you'll see the test run logs being submitted to qTest Manager as highlighted below. 

Now you can access qTest Manager and schedule test execution for the newly created test runs with TestNG Universal Agent.


Powered by Zendesk