0

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

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

4

1 回答 1

3

在具有自定义格式的 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);
}

这就是它的样子:

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

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

在报告中添加测试失败描述,在每个测试方法之后,通过测试结果调用 ITestResult 注释 @AfterMethod,如果测试失败,它可以检索错误堆栈信息。

@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();
    }
}
于 2018-08-11T05:52:56.920 回答