Below is TestStatusListener class which implements ITestListener, where I am using it in onTestStart method calling getTestName() but couldn`t see test names printing. Can someone help.
public class TestStatusListener extends API implements ITestListener,ITest {
ExtentTest test;
ExtentReports extent = ExtentManager.getReporter();
ThreadLocal<ExtentTest> threadSafe = new ThreadLocal<>();
private ThreadLocal<String> testName = new ThreadLocal<>();
@Test(dataProvider = "tokenTypes", dataProviderClass = API.class)
@org.testng.annotations.BeforeMethod
public void BeforeMethod(Method method, TokenType testData) {
testName.set(method.getName() + "_" + testData);
}
@Override
public String getTestName() {
return testName.get();
}
///
public void onTestStart(ITestResult iTestResult) {
test = extent.createTest(iTestResult.getMethod().getMethodName()).assignAuthor("Core Automation Team").assignCategory("Regression").assignDevice("Window 10");
threadSafe.set(test);
System.out.println("Initializing test method " + getTestMethodName(iTestResult) + getTestName() + " start");
}
}