0
0
Selenium Javatesting~5 mins

Test suites (testng.xml) in Selenium Java

Choose your learning style9 modes available
Introduction

A test suite groups multiple test cases to run together in one go. It helps organize and run tests efficiently.

When you want to run several related test cases at once.
When you need to run tests in a specific order.
When you want to run tests on different browsers or environments.
When you want to separate smoke tests from full regression tests.
When you want to run tests in parallel to save time.
Syntax
Selenium Java
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="SuiteName">
  <test name="TestName">
    <classes>
      <class name="packageName.ClassName"/>
      <class name="packageName.AnotherClassName"/>
    </classes>
  </test>
</suite>

The <suite> tag defines the whole test suite.

The <test> tag groups classes to run as one test.

Examples
This suite runs only the LoginTest class as a test named LoginTests.
Selenium Java
<suite name="RegressionSuite">
  <test name="LoginTests">
    <classes>
      <class name="tests.LoginTest"/>
    </classes>
  </test>
</suite>
This suite runs two tests: SmokeTests and RegressionTests, each with their own classes.
Selenium Java
<suite name="FullSuite">
  <test name="SmokeTests">
    <classes>
      <class name="tests.SmokeTest"/>
    </classes>
  </test>
  <test name="RegressionTests">
    <classes>
      <class name="tests.RegressionTest"/>
    </classes>
  </test>
</suite>
This suite runs Test1 and Test2 in parallel using 2 threads.
Selenium Java
<suite name="ParallelSuite" parallel="tests" thread-count="2">
  <test name="Test1">
    <classes>
      <class name="tests.TestClass1"/>
    </classes>
  </test>
  <test name="Test2">
    <classes>
      <class name="tests.TestClass2"/>
    </classes>
  </test>
</suite>
Sample Program

This is a simple testng.xml file defining a suite named SampleSuite with one test named SampleTest that runs SampleTestClass.

Selenium Java
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="SampleSuite">
  <test name="SampleTest">
    <classes>
      <class name="tests.SampleTestClass"/>
    </classes>
  </test>
</suite>
OutputSuccess
Important Notes

Always use the full package and class name in the <class> tag.

You can run the suite file from your IDE or command line to execute all tests inside.

Use the parallel attribute to speed up tests but be careful with shared resources.

Summary

Test suites group tests to run together easily.

Use testng.xml to define which tests to run and how.

Suites help organize, order, and run tests in parallel if needed.