java - 如何使用 Cucumber 和范围报告设置步骤状态?
问题描述
我正在寻找一种方法来设置测试步骤的状态,然后设置将使用范围报告在 HTML 报告中显示的场景。我现在正在使用 Cucumber Java TestNG & Extent Reports 并使用断言设置状态:
Assert.fail(msg)
断言的问题是他抛出了断言异常,我没有找到抑制异常的方法,所以我想使用如下范围设置状态:
extentTest.log(Status.FAIL, msg);
这里的问题是您需要创建功能/场景/测试,而我没有找到任何关于此的文档。
解决方案
希望您正在寻找一些可以根据您在 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) {
}
}
推荐阅读
- api - 我们如何创建 pojo 类并为 JSON 数组设置值
- python - 从 GoPro 中提取每个视频帧的 GPS 数据
- sql - 如何仅使用 sql 在 apex oracle 的交互式网格中实现选择列表以及 oracle APEX 中可用的内容?
- c# - 为什么 Asp.Net Core 不想从 Angular 表单中绑定数据?
- visual-studio-code - Visual Studio 代码没有响应
- r - dplyr 组不使用美元符号 data$column 语法
- java - 运行我的程序时导致服务器断开连接的原因是什么?
- reactjs - 通过 PayPal 余额付款选项在 Sandbox 帐户中不可用
- java - 捕获 IIOException 的问题已经捕获
- vba - PowerPoint 2019 for Windows 宏错误:编译错误:标签未定义