如何在Cucumber-java和extentReports中为失败的步骤编写自定义失败消息

10

我想在我的Cucumber ExtentReports中编写自定义失败消息。

所使用的工具:

Cucumber

Java

Selenium

JUnit

ExtentReports

现在发生了什么:

我有一个Cucumber场景。

Given something
When I do something
Then this step fails

失败的步骤出现以下错误:

Assert.assertTrue("CUSTOM_FAIL_MSG", some_condition);
在ExtentReport中,我看到了enter image description here我想要达成的目标:

enter image description here

我迄今为止研究过的内容:

有一个scenario.write("")函数,但这会在报告中创建一个新的信息日志(但我寻找自定义失败消息而不是新的日志条目)。

scenario.stepResults具有在报告中显示的字符串。但是,我找不到一种在其中设置某些值的方法。

对此有什么想法吗?


你能想出一种方法来做这件事吗? - BountyHunter
还没有,不过很快就会有了。 - Sakshi Singla
如果你的问题仍未得到解答,可以考虑更新Cucumber jar版本中的cucumber-corecucumber-javacucumber-junitExtentReports版本。谢谢。 - undetected Selenium
2个回答

1

您尝试过使用创建标签的标记语言吗?

以下是如何为失败的测试执行此操作:

test.log(Status.FAIL, MarkupHelper.createLabel(result.getName()+" Your MSG here!", ExtentColor.RED)); 

和已通过的测试:

test.log(Status.PASS, MarkupHelper.createLabel(result.getName()+" Test Case PASSED", ExtentColor.GREEN));

你可以根据需要轻松操纵字符串部分(变量插值?)。这有帮助吗?

0
尝试使用 testNG 库替换 JUnit 断言库…还可以使用 cucumber 查看失败的步骤…为什么要更改这个“故事”日志?…或者如果想要更好的报告,可以尝试使用第三方库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接