Testng.xml File in Java Selenium

In this section Let’s Understand, What is Testng.Xml File and How it helps in the Execution of Different classes and test cases to run from a single Testng.xml File. Before Creating TestNG.xml File, install the TestNG Plugin in Eclipse IDE .

What is Testng.xml File?

Testng.xml is Used for configuring the Different Testcases into one Single XML File to execute, it can comprise multiple test classes, test suites, and test cases. which helps the Tester in writing and Executing Multiple Testcases from a single file.

How to Create Testng.xml file?

  • Right Click on Your Project Folder and go into TestNg then click on Convert to TestNG

  • then click on the finish

  • we have successfully created TestNG.xml File

Test Scenario

  • Execute two classes from the testng.xml file for the positive and negative test cases.

Code

XML File

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
  <test thread-count="1" name="Vaild Login Case">
    <classes>
      <class name="login"/>
    </classes>
</test> 
   <test thread-count="1" name="Invaild login case">
     <classes>
      <class name="invaild_login"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

Login Class

import org.testng.annotations.Test;

public class login {
    @Test
    public void loginclass()
    {
        System.out.println("Login Class");
    }

}

Invalid Login Class

import org.testng.annotations.Test;

public class invaild_login {
    @Test
    public void invaildclass()
    {
        System.out.println("invaild Login Class");
    }
}

Code Explanation

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite"> <!--This is the name of the suite-->
  <test thread-count="1" name="Vaild Login Case"> <!--This is the name for the Positive Testcase-->
    <classes>
      <class name="login"/><!--This is the name of the login class-->
    </classes>
</test> 
   <test thread-count="1" name="Invaild login case"><!--This is the name for the Negative Testcase-->
     <classes>
      <class name="invaild_login"/><!--This is the name of the invaild_login class-->
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

<suite name="Suite"></suite>this is the Name of the Suite, it can contain multiple test cases and classes

<test thread-count="1" name="Vaild Login Case"> <!--This is the name for the Positive Testcase--></test>

<test thread-count="1" name="Invaild login case"><!--This is the name for the Negative Testcase--></test>

<test> tag Defines the  Testcases and it can contain multiple classes which can be executed under different test case names.

<classes> <class name="login"/><!--This is the name of the login class--> </classes>

<classes> <class name="invaild_login"/><!--This is the name of the invaild_login class--> </classes>

<classes> tag Defines the Class Name which can be executed under different Testcase based on Requirement.

Output

We Have Successfully Executed Multiple Classes and test cases from TestNg.xml File.