Nikhil Shah
Nikhil Shah

Reputation: 101

TestNG dependsOnGroups from different class for testng.xml file

How to use dependsOnGroups method in testng.xml file so class 1 methods fails class 2 should not run.

Class 1:

public class GetDataForChannelAPI{

@Test(dataProvider = "getData", dataProviderClass = DataUtil.class, priority = 2,groups={"getVillagesAndPincodes"})

public void channelAPI_GetPickUpLocation(LinkedHashMap<String, String> data) {


//Added some code.

}


}

Class 2:

public class VerifyChannelAPI{

@Test(dataProvider = "getData", dataProviderClass = DataUtil.class, priority = 3, dependsOnGroups = {
            "getVillagesAndPincodes" },groups={"channelAPITest"})

public void channelAPI_Franchise_NoSpace(LinkedHashMap<String, String> data) {

//Added some code here
}

}

Please help me.Thanks in advance.

Please check below xml code.

    <groups>
        <run>
            <include name="GetDataForPackageAPI.getFranchiseIdsGJ" />
            <include name="GetDataForPackageAPI.getFranchiseIdsRJ" />
            <include name="GetDataForPackageAPI.getFranchiseIdsMH" />
            <include name="GetDataForPackageAPI.getOrderIdsGJ" />
            <include name="GetDataForPackageAPI.getOrderIdsRJ" />
            <include name="GetDataForPackageAPI.getOrderIdsMH" />
            <include name="GetDataForPackageAPI.getPackageIdsGJ" />
            <include name="GetDataForPackageAPI.getPackageIdsRJ" />
            <include name="GetDataForPackageAPI.getPackageIdsMH" />
        </run>
    </groups>
    <classes>
        <class name="com.agroex.packageapi.testsuite.VerifyPackageAPI"></class>
        <class name="com.agroex.packageapi.testsuite.GetDataForPackageAPI"></class>
    </classes>

</test> <!-- Test -->

Upvotes: 1

Views: 1601

Answers (2)

Nikhil Shah
Nikhil Shah

Reputation: 101

Class A:GetDataForPackageAPI

@Test(dataProvider = "getData", dataProviderClass = DataUtil.class, priority = 10, groups = {
            "getFranchiseIdsGJ" })
    public void packageAPI_GetFranchiseIdListFor_GJ(LinkedHashMap<String, String> data) {
//Some code
}

Class B:VerifyPackageAPI

@Test(dataProvider = "getData", dataProviderClass = DataUtil.class, priority = 13, dependsOnGroups = {
            "getFranchiseIdsGJ" })
    public void packageAPI_VerifyParameter_FranchiseIdGJ_OpsUser(LinkedHashMap<String, String> data) {
        try {
//Add some code
}

XML File:

<test name="Package API Test" parallel="tests" thread-count="15" >
        <classes>
            <class name="com.agroex.packageapi.testsuite.VerifyPackageAPI"></class>
            <class name="com.agroex.packageapi.testsuite.GetDataForPackageAPI"></class>
        </classes>

    </test>

Upvotes: 1

Xwris Stoixeia
Xwris Stoixeia

Reputation: 1861

I cannot see anything wrong in the code you posted; other than it is not formatted :) If the problem is how to construct your xml file:

<suite name="PackageAPItest">      

<test name="SmokeTest">

<groups>
<run>
<include name="getVillagesAndPincodes">
</run>
</groups> 

<classes>
<class name="com.agroex.packageapi.testsuite.GetDataForPackageAPI"></class> 
<class name="com.agroex.packageapi.testsuite.VerifyPackageAPI"></class>         
</classes>  

</test>
</suite>

Best of luck!

Upvotes: 0

Related Questions