1 回答
TA贡献1963条经验 获得超6个赞
为了获取实例,我创建了 TestNg CustomListener 类,在其中我手动将输入参数 (TestCase) 设置为每个已执行测试 ITestResult 的属性:
public class CustomListener extends TestListenerAdapter {
@Override
public void onTestFailure(ITestResult iTestResult) {
super.onTestFailure(iTestResult);
TestCase tCase = (TestCase) iTestResult.getParameters()[0];
iTestResult.setAttribute("failed_case", tCase);
}
@Override
public void onTestSuccess(ITestResult iTestResult) {
super.onTestSuccess(iTestResult);
TestCase tCase = (TestCase) iTestResult.getParameters()[0];
iTestResult.setAttribute("passed_case", tCase);
}
@Override
public void onTestSkipped(ITestResult iTestResult) {
super.onTestSkipped(iTestResult);
TestCase tCase = (TestCase) iTestResult.getParameters()[0];
iTestResult.setAttribute("skipped_case", tCase);
}
}
在我的自定义报告类中,我获取每个测试用例的对象,如下所示:
TestCase failedCase = (TestCase) testResult.getAttribute("failed_case");
TestCase passedCase = (TestCase) testResult.getAttribute("passed_case");
TestCase skippedCase = (TestCase) testResult.getAttribute("skipped_case");
添加回答
举报