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");
}