1

我们目前正在研究一个尖峰 - 开始标记/突出使用 Cucumber-JVM [Java selenium 环境] 运行的测试中的已知故障。我们目前在标准 Cucumber 生成报告之上使用 Masterthought 插件 [但将对任何其他开源插件开放或依赖于标准 Cucumber (JSON/JavaScript/XML/HTML) 报告]

(这将类似于团队城市的静音设施,而是一个定制的解决方案)

  1. 我们计划维护我们自己的小型 dB 或属性文件,其中将包含已知故障的测试用例参考

  2. 从下一次测试运行开始,如果相同的测试用例,我希望我的 Cucumber 测试报告突出显示或至少在报告中有某种列/标志可以突出显示已知故障(来自步骤 1 中的上述映射)再次失败。

您能否分享有关如何实现此已知故障功能的任何想法?

我们如何操纵 Cucumber runner 和输出?

如果我们设法更改 Cucumber 输出,例如 JSON / XML 输出文件,那么任何外部报告插件(如 MasterThought)都能够接受更改。

请提供您对任何类似工作的宝贵经验。

非常感谢

4

1 回答 1

1

您可以在场景元数据中使用QAF BDD,您可以指定其他元数据,比如说缺陷 ID。例如下面是方法调用监听器的实现:

SCENARIO: Example test
META-DATA: {"description":"Data driven test that uses csv file to provide data", "defect-id":"PRJ-123"}
    Given I am on fruits and colors activity
    When i select '${fruit}'
    Then the color should be '${color}'
END

测试完成后,您可以使用标准 TestNG 侦听器进行进一步处理。您将能够在侦听器中访问您的自定义元数据。例如:

@Override
public void afterInvocation(final IInvokedMethod method, final ITestResult tr, final ITestContext context) {

    if (method.isTestMethod()) {
        TestNGScenario scenario = (TestNGScenario) tr.getMethod();
        Map<String, Object> metadata =scenario.getMetaData();
        if(metadata.containsKey("defect-id")){
        //do the needful
        }
    }
}
于 2018-05-19T18:32:49.883 回答