How To Create TestNG XML File And Execute TestNG.XML File

In this post, we will learn How To Create TestNG XML File. We know this there are so many uses of this file.

In real time project, we have never a single class, instead of that we have many classes for every functionality like, and many. So it’s not possible to run each test case separately.

We need to do integrate between test classes, so now testng.xml comes into picture.

Why testng.xml – for integrating test cases classes and many other things are there which explained later in this post.

To start our project follows steps.

Create and

Then start putting test cases inside every class. Make one pass and other failed in each class total 2 test cases will be passed [one in every class].

See below code.

package SamplePkg;

import org.testng.Assert;
import org.testng.annotations.Test;

public class LoginTestCases {
    @Test(priority=0, alwaysRun=true,dependsOnMethods="checkSpecialCharUname")
    public void checkBlankUname() {
        Assert.assertEquals("Blank not Allowed", "Blank not Allowed");
    public void checkSpecialCharUname() {
        Assert.assertEquals("Special char not allowed", "Special char not allowed");




How to generate testng.xml?

Right click project >> goto convert to testng >> finish.

convert testng xml


Now you can see testng.xml generated in our project.



In below image you can see both classes added.



In live company projects this file is created only once.

Every automation engineer has to place his class name there in this file once test class is created so that it will start running in integration suite.

One more this we need to explore @Test annotation in client.

testng annotation

In the above snap priority is attributes of test annotations, we have many attributes like this for test annotation.

  • alwaysRun – If set to true, this test method will always be run even if it depends on a method that failed.
  • dataProvider – The name of the data Provider for this test method.
  • dependsOnGroups – The list of groups this method depends on.
  • dependsOnMethods – The list of methods this method depends on.
  • enabled –  Whether methods on this class/method are enabled.
  • invocationCount – The number of times this method should be invoked.
  • invocationTimeOut – The maximum number of milliseconds this test should take for the cumulated time of all the invocation counts. This attributes will be ignored if invocation Count is not specified.
  • Priority – The priority for this test method. Lower priority will be scheduled first.
  • threadPoolSize – This size of the thread pool for this method. This method will be invoked from multiple threads as specified by invocation count.

Note: This attributes is ignored If invocationCount is not specified.

If you are not regular reader of my blog then I highly recommend you to signup for the free email newsletter using the below link.

Window Handling in Selenium


Leave a Comment