Open In App

How to execute a particular test method multiple times in TestNG?

Last Updated : 11 Sep, 2024
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

TestNG is considered one of the most well-known and used software testing frameworks for Java, providing numerous features for testing and executing test cases. Sometimes during the testing of a particular test method, it becomes relevant to run that particular test method multiple times. TestNG provides methods for running test methods multiple times. This is really helpful when you want to test a feature under stress test or see whether it behaves exactly the same every time under similar conditions.

In this article, we'll explore two different ways to execute a particular test method multiple times in TestNG, one is for normal execution of the test method multiple times, and another is when we have to use threads and check for parallel execution, so let's understand each of them one by one.

How to execute a particular test method multiple times in TestNG?

To Execute a particular test method multiple times in TestNG, we can use following two methods:

Method 1: Executing Test Method Multiple Times Without Using Threads:

In this method, we will use a simple code to execute a test method multiple times, for this, we will follow the below steps:

Step 1: Add InvocationCount to Code

We can use a package by importing it called org.testng.annotations.Test and this package will enable us to use invocationCount which helps us to set the number of iterations of a particular test we need to run.

Java
package invocationcount;

import org.testng.annotations.Test;

public class InvocationClass01{
	

	@Test(invocationCount = 6)
	public void Test01() {
		System.out.println("I am in Test01");
	}
}

This is a simple code that sets the invocationCode to 6, which means the code will run for 6 test cases and then it will simply print I am in Test01.

Step 2: Run the Code

The next step is to run the code mentioned above, for this we will simply right click and select option Run As and then click on the first option that says "TestNG Test" to run the test case, as you can see in the image below.

02_click-on-run-as
Run the Code.

Step 3: Executed Output of TestNG

Once we run the code in the TestNG, we will see the output in the top right corner as well, as you can see in the image below that we have a single program that created 6 test cases and for 6 times.

03_testNG-test-cases
Executed Output of TestNG.

This is how we can use invocationCode method to run the code multiple times.

04_open-results-to-check-test-output
Executed Output of TestNG.

This is how we can run the particular test method for multiple times in the TestNG.

Method 2: Executing Test Method Multiple Times Using Threads:

In TestNG, one can use threads while running a test method multiple times to enhance the running of the tests concurrently. While this approach allows tests to run in parallel, it considerably reduces the overall execution time and simulates real-world scenarios where several operations occur simultaneously.

For advanced test scenarios, running test methods multiple times using threads can greatly enhance efficiency and effectiveness. TestNG provides options to run tests concurrently using a thread pool, enabling multiple test instances to execute in parallel and reducing the overall testing time.

Following are the steps required for executing the test method multiple times using threads:

Step 1: Code for TestNG with threadPoolSize

In the above method we have no code for checking which thread it being used and if we want to have parallel execution then it is important to check for threads which are being used here, for this we can use the following code to also mention the thread ID whenever a test case is executed.

Java
package invocationcount;

import org.testng.annotations.Test;

public class InvocationClass01{
	
	@Test(invocationCount = 6, threadPoolSize = 6)
	public void Test01() {
		System.out.println("I am in Test01");
	}
}

Step 2: Run the Code

Same as in the previous steps, now we have to run the code mentioned above, for this we will simply right click and select option Run As and then click on the first option that says "TestNG Test" to run the test case.

06_thread-ID-test-output
Run the Code.

As you can see in the output, we can also see the thread ID now. this is how we can run the TestNG test method multiple times.

Conclusion

Both ways of running a test method many times can be useful in testing, with or without threads. Without threads, it is simple and allows clear control, while with threads, it will go faster and more efficiently. Which one to use would depend on what is needed for the test: keeping the order and separation of tests or running them more quickly at the same time.


Next Article
Article Tags :

Similar Reads