使用 TestNG 自定义范围报告 (Java)

Customization of Extent Reports using TestNG (Java)

需要帮助在范围报告中显示参数(针对每个测试)。参数,例如从 Testng 框架中的@dataprovider(URL,填写表格的其他详细信息)中选择的值,也不会针对失败的结果进行失败的堆栈跟踪

Reportng 提供漂亮的报告,其中包含所有必需的详细信息,无需任何自定义,但无法在 extentreports 中获取这些详细信息。

在自定义格式的 ExtentReport 中是可能的:

示例:

根据您的数据提供者正在获取详细信息,您可以将其添加到范围报告中:

@Test(dataProvider = "getTestData", )
public void createAccount(String caseNo, String targetGroupName, String expectedResult) 
{

    extentTest= extentReport.createTest("Test"); 

    String testResult = "Case No: " + caseNo + " &nbsp; <br /> &nbsp; Group Name: " + targetGroupName;
    extentTest.info(MarkupHelper.createLabel(testResult, ExtentColor.BLUE));
    System.out.println(testResult);
}

这是它的样子:

因此,您可以根据喜好添加自定义字符串。

在报告中添加失败详细信息或错误堆栈跟踪:

在Report中添加Test Failure描述,在每个测试方法之后,注解@AfterMethod通过测试结果调用ITestResult,如果测试失败可以获取错误堆栈信息。

@AfterMethod
public void testStatus(ITestResult result) throws Exception {

    if (result.getStatus() == ITestResult.FAILURE) {

        testResult = "Test Fail :" + result.getName();
        extentTest.fail(MarkupHelper.createLabel(testResult, failColor));
        System.out.println(testResult);

        testResult = "Details of Fail Testcase:" + result.getThrowable();
        extentTest.info(testResult);

        extentReport.flush();
    }
}