首页 > 解决方案 > 如何使用 Cucumber 和范围报告设置步骤状态?

问题描述

我正在寻找一种方法来设置测试步骤的状态,然后设置将使用范围报告在 HTML 报告中显示的场景。我现在正在使用 Cucumber Java TestNG & Extent Reports 并使用断言设置状态:

Assert.fail(msg)

断言的问题是他抛出了断言异常,我没有找到抑制异常的方法,所以我想使用如下范围设置状态:

extentTest.log(Status.FAIL, msg);

这里的问题是您需要创建功能/场景/测试,而我没有找到任何关于此的文档。

标签: javacucumberreport

解决方案


希望您正在寻找一些可以根据您在 Extent 生成的 HTML 报告中的要求打印消息的方法。如果是这样,那么您需要根据需要自定义或写下方法。我附上了 HTML 的屏幕截图和一段代码,让您了解如何进行。

在此处输入图像描述

在此处输入图像描述

像下面的方法会根据测试失败添加屏幕和消息。您可以根据需要简单地将 testReport.get().fail 更改为通过或警告。

public static synchronized void logFailed(String message) {
try {
    testReport.get().fail("<details>" + "<summary>" + "<b>" + "<font color=" + "red>" + "Exception Occured : Click on the link to see message"
            + "</font>" + "</b >" + "</summary>" + "<br>" + "<h6>" + "<b>" + BasePage.returnLocator(message) +  "</b>"+ "</h6>" + "</br>" + message.replaceAll(",", "<br>")+"</details>"+" \n");
    addScreenShotsOnFailure();
}
catch(Exception e) {            
}   
}

推荐阅读