我们目前正致力于开始使用Cucumber-JVM [Java selenium环境]标记/突出显示测试中的已知故障。 我们目前在标准Cucumber生成的报告之上使用Masterthought插件[但是将对任何其他开源插件开放或依赖于标准Cucumber(JSON / JavaScript / XML / HTML)报告]
(这将类似于团队城市的静音设施,而是一个定制的解决方案)
我们计划维护自己的小dB或属性文件,其中包含已知故障的测试用例参考
从下一个测试运行开始,我希望我的Cucumber测试报告突出显示或至少在报告中有一些列/标志,可以突出显示已知故障(来自上述步骤1中的映射) ),如果相同的测试用例再次失败。
您能否分享一下有关如何实施此已知故障功能的想法?
我们如何操纵Cucumber runner&输出
如果我们设法更改Cucumber输出 - 例如JSON / XML输出文件,那么任何外部报告插件(如MasterThought)都可以获取更改。
请在任何类似的努力中提供宝贵的经验。
非常感谢
答案 0 :(得分: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
}
}
}