Read test tag parameters in @BeforeSuite annotation method

For example your testng.xml is like 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="Suite1" parallel="tests" time-out="72000000" preserve-order ="true" configfailurepolicy="continue">

                       
                                  
 <test name="Test1" preserve-order ="true">
        <parameter name="os" value="Android"/>
        <parameter name="UDID_" value="41c75203"/>

 </test>

 <test name="Test2" preserve-order ="true">
        <parameter name="os" value="IOS"/>
        <parameter name="UDID_" value="abcdefghijklmnopqrstuv.."/>

 </test>
</suite>

Now you want to read paramter names os and UDID_ in beforeSuite method for both test tags.






@BeforeSuite(alwaysRun=true)
    public void beforeSuite(ITestContext testContext) throws Exception
    {

       
        XmlSuite suite=testContext.getSuite().getXmlSuite();
     
        for(XmlTest test:suite.getTests()){
                       
            String os=test.getParameter("os");
            String deviceId=test.getParameter("UDID_");
            System.out.println("os :"+os);
            System.out.println("deviceId:"+deviceId);


            }
       

     }






OUTPUT:
Android
41c75203
IOS
abcdefghijklmnopqrstuv


Comments

Popular posts from this blog