</>

Technology

TestNG

Difficulty

Beginner

Interview Question

What is the use of testng.xml file?

testng.xml is the configuration file for the entire TestNG test suite — it defines suites, groups, parameters, listeners, and parallel settings.

Answer

Use of testng.xml File

testng.xml is the master configuration file for TestNG. It controls how the test suite is organized and executed.

What you can do with testng.xml:

  • Define test suites and test groups
  • Mark tests for parallel execution
  • Add listeners for custom logging/reporting
  • Pass parameters to test methods
  • Include or exclude specific test groups or classes
  • Trigger the entire test suite from a single file

Basic testng.xml structure:

XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="AutomateQA Suite" verbose="1">
  <test name="LoginTests">
    <classes>
      <class name="tests.LoginTest" />
      <class name="tests.DashboardTest" />
    </classes>
  </test>
</suite>

Passing parameters via testng.xml:

XML
<suite name="MySuite">
  <test name="ChromeTest">
    <parameter name="browser" value="chrome" />
    <classes>
      <class name="tests.BrowserTest" />
    </classes>
  </test>
</suite>

Including/excluding groups:

XML
<suite name="RegressionSuite">
  <test name="RegressionTest">
    <groups>
      <run>
        <include name="regression" />
        <exclude name="smoke" />
      </run>
    </groups>
    <classes>
      <class name="tests.AllTests" />
    </classes>
  </test>
</suite>

Adding listeners:

XML
<suite name="MySuite">
  <listeners>
    <listener class-name="listeners.MyTestListener" />
  </listeners>
  <test name="SmokeTest">
    <classes>
      <class name="tests.SmokeTest" />
    </classes>
  </test>
</suite>
Run the suite from command line: mvn test -DsuiteXmlFile=testng.xml

Follow AutomateQA

Related Topics