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