在 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
并且您有 afterScenario
和 afterFeature
挂钩。我想如果你使用 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
有没有办法在 java 对象中获取所有执行的场景及其状态(通过或失败)的列表。
我知道我们有 JSON 和 XML 报告,但我只需要一个简单的场景列表及其状态,而无需解析任何其他文件。
根据我在文档中找到的内容,我们可以使用以下代码
KarateStats stats = CucumberRunner.parallel(getClass(), 5, "target/surefire-reports");
但是统计信息只有失败场景的数量及其执行时间。
我认为你最好的选择是使用 karate.info
API,看看这个 table 的最后一行:https://github.com/intuit/karate#the-karate-object
并且您有 afterScenario
和 afterFeature
挂钩。我想如果你使用 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