当前位置: 首页 > 知识库问答 >
问题:

如何使用Cucumber和Extent Reports设置步骤状态?

冉高寒
2023-03-14

我正在寻找一种方法来设置测试步骤的状态,然后使用范围报告在HTML报告中显示场景。我现在用的是cucumberJava TestNG

Assert.fail(msg)

assert的问题是他抛出了Assertion Exceptions,而我没有找到抑制异常的方法,所以我想使用extent来设置状态,如:

extentTest.log(Status.FAIL, msg);

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

共有1个答案

谭俊
2023-03-14

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

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

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) {            
}   
}
 类似资料:
  • 我正在尝试为我们的集成测试设置诱惑2,但有些事情进展不顺利。 TestNG侦听器工作正常,因为诱惑力-结果文件夹正在被填满。@Step和@附件等注释不起作用。 https://github.com/allure-examples/allure-testng-example.的例子也有同样的问题 pom.xml的重要部分: jvm参数被正确传递,路径实际上指向我的aspectjweaver jar。

  • 好的,所以我正在使用IntelliJ进行一个项目,并试图利用它的cucumber功能。我没有使用过cucumber的java风格,但IntelliJ似乎希望步骤定义文件位于相对于特性文件的特定位置。 我在Intellij12和其他来源中找到了:如何定义cucumber的步骤定义位置,这些来源指出我能够添加运行配置的“glue”属性,它告诉cuke在哪个包中查找步骤文件。因此,我可以通过idea运行

  • TL:DR控制台不显示缺少步骤的步骤正则表达式 编辑:添加功能文件

  • 我的在中,我的在中 我的测试都运行正确,但是intelliJ拒绝查看步骤defs在哪里,即使我要求它创建一个新的步骤defs。这是在哪里配置的?

  • 这里对Javascript/Cypress比较陌生。我正在使用Cypress Cucumber.js插件运行一些测试。问题是,由于JS的异步特性,我无法使步骤按顺序运行--“then”步骤在“gived etc”之前运行。显然,这成为一个问题,因为测试将失败! 我的问题: 1)如何使用异步代码使黄瓜步骤始终按顺序运行?我在这里看到了一个类似的问题:如何等待JavaScript Promise在恢复

  • 我使用Cucumber JVM,并尝试在每一步之后拍摄屏幕截图(如果出现故障)。问题是,我不知道如何设置在每个步骤之前和之后执行的方法。 我用过https://github.com/cucumber/cucumber-java-skeleton作为参考。我加入了runnerhttps://github.com/cucumber/cucumber-java-skeleton/blob/master/