Согласно TestNG doc .Вы можете использовать IInvokedMethodListener
или ITestListener
, чтобы эти слушатели могли помочь вам достичь вашей цели.
Например, используя IInvokedMethodListener
, вы можете реализовать что-то похожее на это:
public class TestNGCustomInvokedMethodListener implements IInvokedMethodListener {
private static final Logger LOG = LoggerFactory.getLogger(TestNGCustomInvokedMethodListener.class);
@Override
public void beforeInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) {
LOG.info("Running method: " + iInvokedMethod.getTestMethod().getMethodName());
}
@Override
public void afterInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) {
LOG.info("Finished method: {} with result: {}", iInvokedMethod.getTestMethod().getMethodName(), statusToString(iTestResult.getStatus()));
}
private String statusToString(int status) {
String statusStr;
switch (status) {
case ITestResult.FAILURE:
statusStr = "FAILURE";
break;
case ITestResult.SKIP:
statusStr = "SKIP";
break;
case ITestResult.STARTED:
statusStr = "STARTED";
break;
case ITestResult.SUCCESS:
statusStr = "SUCCESS";
break;
default:
statusStr = "undefined";
break;
}
return statusStr;
}
}
Наконец, вы можете взглянуть на этот пост , который объясняет оченьхорошо, как использовать конфигурацию прослушивателей TestNG.