TestNG Tutorials 61: Dependency in TestNG – Creating Dependency Among Test Methods – DependsOnGroup
In previous post, We have learnt to Establish dependency among test methods. In this post, we will see another concept in Dependency called DependsOnGroup.
Consider a scenario:
You have created automation scripts for Integration testing. We know that in integration testing, data flows from one module to another. You divide your test methods as per group. Say Group 1 and group 2. You run Group 1 methods first followed by Methods of Group 2. We can achieve the same in TestNG using DependsOnGroup.
So when we mention a group name or list of group names for a @Test annotated method, all methods of mentioned groups will run first. We will see an example below:
package Dependecy; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; public class DependsOnGroupsExample { // Test method belong to preSetupTestA @Test(groups= {"preSetupTestA"}) public void methodA() { System.out.println("MethodA"); } //Test method belong to preSetupTestA @Test(groups= {"preSetupTestA"}) public void methodB() { System.out.println("MethodB"); } // Test method belong to preSetupTestB @Test(groups= {"preSetupTestB"}) public void methodC() { System.out.println("MethodC"); } // Test method belong to preSetupTestB @Test(groups= {"preSetupTestB"}) public void methodD() { System.out.println("MethodD"); } // Test method which is dependent of other groups @Test(dependsOnGroups = {"preSetupTestB", "preSetupTestA"}) public void finalTest() { System.out.println("Final Test."); } }
Output:
[java] [RemoteTestNG] detected TestNG version 6.14.2 MethodA MethodB MethodC MethodD Register on Facebook. PASSED: methodA PASSED: methodB PASSED: methodC PASSED: methodD
PASSED: registerOnFacebook