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

如何在cucumber扩展报告中嵌入场景名称或功能名称作为报告文件名?

潘涵煦
2023-03-14

我正在使用cucumber扩展报告来生成测试执行的报告。因为我动态地将名称传递给报告文件。我能够传递一个时间戳作为程度报告文件名在@之前的运行类。但是我需要传递场景名称或功能名称以及时间戳。给我一个想法,在运行类中获取场景名称,并将其追加到区域报告名称中。

@CucumberOptions( features = "classpath:features", 
    tags = {"@InsuredInfoScreenAddressValidation"}, 
    glue="classpath:stepDefinition", 
    plugin = "com.cucumber.listener.ExtentCucumberFormatter:", 
    "pretty", 
    "html:target/cucumber-html-report"}, 
    monochrome=true //tags = "@Sample" //tags = "@Testing" )

共有1个答案

傅恺
2023-03-14

您可以从@Before钩子中的场景对象中获取功能文件中提到的场景的名称:

    @Before()
    public void beforeScenario(Scenario scenario)
    {
        extent = new ExtentReports (userDir + \\test-output\\" + scenario.getName()+ ".html", true);
    }
 类似资料:
  • 在TestNG框架中,我们使用TestNG套件xml文件来定义测试,并调用mvn(with-dtestset=TestNG.xml)来执行它们。在xml文件的另一边,我们有带有name值的test标记,但是这个name值似乎没有出现在Allure报告的任何地方。有没有办法让它显示在Allure报告上(更喜欢和@Feature注释在同一个地方)?

  • 如何为temyers/cucumberJVM并行插件配置扩展报告? 我们使用Teamyers Cumber JVM并行插件,使用Maven surefire插件并行运行Selenium Cumber测试。使用Cucumber JVM并行插件,我们绕过了传统Cucumber runner类的需求 对于每个并行运行,它都会生成单独的报告。 如何为其配置扩展报告。 谢谢

  • 我正在寻求关于如何仅按名称运行特性文件场景的帮助。我已经试了一段时间了,但它没有出来。我知道这可以通过标签或行号来完成,但我想知道我们是否可以通过名称来运行cucumber测试,或多或少使用这个命名法。 给定一个名为“features/test.feature”的文件,其中包含: 我想从控制台按名字运行一个场景,或者用gradle运行一个场景,可能类似于这种方式 或者和gradle在一起

  • 在范围报告中,我想显示测试的名称而不是方法名称。所以我找到了一个解决方案,为@Test注释添加了一个test name属性 问题1:在报告中,我看到getTestName方法返回null。 问题2:我无法在报告的“测试”列下创建测试名称为的测试。这是一条可以做到这一点的线: 测试=范围。createTest(Thread.currentThread())。getStackTrace()1。getM

  • 我不得不错误地运行maven-clean命令,并清理目标报告文件夹。现在,如果我构建并运行我的功能文件,就会出现以下错误。我如何解决这个问题? 顺便说一句,我使用的是空手道版本0.9.0(尽管它可能并不依赖于此) 此外,如果导致以下问题,我该如何清理报告文件夹?

  • 我目前正在使用Cucumber框架和Selenium Java。我希望将我的正常cucumber报告升级为扩展报告。尝试使用扩展报告3.0.2。我能够生成范围报告,但我不能将失败测试用例的截图嵌入到范围报告中。 请大家帮忙了解一下,是否有可能将失败案例的截图嵌入到Cucumber Selenium Java框架中。如果是,请帮助我在转发与此或代码相关的任何链接。