Skip to content

TestNG ​

TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use.

This guide explains how to integrate TestNG with TestBeats for centralized and AI-powered reporting.

Prerequisites ​

  • TestBeats API Key (optional) - Sign in for free with your Work Email at testbeats portal to have a centralized and AI powered reporting. Once you're signed in, create a new organization and generate an API Key.

  • In-coming Webhook URL - Create an incoming webhook url for your Slack or Microsoft Teams or Google Chat.

Integration ​

TestBeats can consume the following reports for publishing test results from TestNG:

1. Configure TestNG to generate XML report ​

Run tests by updating the reporter to xml.

shell
mvn clean test -DsuiteXmlFile=result.xml -Dreporter=org.testng.reporters.XMLReporter

2. Configure TestBeats to consume XML report ​

Assume the generated test result file is result.xml. Now the test results can be either published using the command line mode or the configuration mode.

2.1 Command Line Mode ​
  1. First, specify the target name using the appropriate target flag. For example, use the --slack flag to specify the incoming webhook URL.

  2. Next, specify the path to the result files using the appropriate results format flag. For example, use the --testng flag for TestNG results.

sh
npx testbeats@latest publish --api-key '<api-key>' --slack '<slack-incoming-webhook-url>' --testng '<path-to-testng-report>'
sh
# Download the executable via `curl`.
curl https://raw.githubusercontent.com/test-results-reporter/testbeats/main/scripts/download-latest.sh | bash

# After download completes, run the executable based on you operating system.
./testbeats-linux publish --api-key '<api-key>' --slack '<slack-incoming-webhook-url>' --testng '<path-to-testng-report>'

TIP

  • TestBeats API Key is optional.
  • Environment variable TEST_BEATS_API_KEY can also be used to specify the API key.
2.2 Configuration Mode ​

Update your testbeats.config.json file to include the testng result file:

json
{
  "api_key": "<api-key>",
  "targets": [
    {
      "name": "slack",
      "inputs": {
        "url": "<incoming-webhook-url>"
      }
    }
  ],
  "results": [
    {
      "type": "testng",
      "files": ["<path-to-testng-report>"]
    }
  ]
}
sh
npx testbeats@latest publish -c path/to/testbeats.config.json
sh
# Download the executable via `curl`.
curl https://raw.githubusercontent.com/test-results-reporter/testbeats/main/scripts/download-latest.sh | bash

# After download completes, run the executable based on you operating system.
./testbeats-linux publish -c path/to/testbeats.config.json

Released under the MIT License.