在 java 对象中获取场景列表及其状态

Get the list of scenarios with their status in a java object

有没有办法在 java 对象中获取所有执行的场景及其状态(通过或失败)的列表。

我知道我们有 JSON 和 XML 报告,但我只需要一个简单的场景列表及其状态,而无需解析任何其他文件。

根据我在文档中找到的内容,我们可以使用以下代码

KarateStats stats = CucumberRunner.parallel(getClass(), 5, "target/surefire-reports");

但是统计信息只有失败场景的数量及其执行时间。

我认为你最好的选择是使用 karate.info API,看看这个 table 的最后一行:https://github.com/intuit/karate#the-karate-object

并且您有 afterScenarioafterFeature 挂钩。我想如果你使用 callonce 实例化一个空的 JSON 数组 [] 作为 Background 中的一个变量,你应该能够 * eval myArray.push(info) 在每个 Scenario。或者尝试创建一个 Java 单例并收集所有内容,这可能更容易。我个人认为尝试解析 Cucumber JSON 可能是 'right' 要做的事情,但是嘿。

您可能需要升级到可用的 0.7.0.RC7。请参考升级指南:https://github.com/intuit/karate/wiki/Upgrading-To-0.7.0