3

In my TestNG.xml file , I have two different values for Test level parameter, "TestRailRunId".

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite thread-count="4" name="Change_Management_Regression_Suite" parallel="tests">
    <listeners>
        <listener class-name="com.sam.reporting.SuiteListener" />
        <listener class-name="com.sam.reporting.Listeners" />
    </listeners>
    <parameter name="browser" value="Chrome" />
    <parameter name="browserVersion" value="104" />
    <test  name="CM-04">
        <parameter name="TestRailRunId" value="200" />
        <classes>
            <class name="com.sam.testdata.TC01"/>
        </classes>
    </test> <!-- Test -->
    <test  name="CM-04">
        <parameter name="TestRailRunId" value="201" />
        <classes>
            <class name="com.sam.testdata.TC02"/>
        </classes>
    </test> <!-- Test -->
</suite>

So in my "SuiteListener" class I implements ISuiteListener class. So in it's onStart method, I want to get the TestRailRunId value from current test.

IS this possible? If so please help.

Currently what I did was defining it in Suite level and using below code snippet ,get the value.

 String TestRailRunId = suite.getXmlSuite().getParameter("TestRailRunId");

Here is the current full code.

@Override
public void onStart(ISuite suite) {
 String TestRailRunId = suite.getXmlSuite().getParameter("TestRailRunId");      
}
Andrej Istomin
  • 2,527
  • 2
  • 15
  • 22
Sameera De Silva
  • 1,722
  • 1
  • 22
  • 41

0 Answers0