空手道DSL-与场景大纲一起使用时,不填充Karate.info



我们正在使用Karate来测试我们的应用程序。由于我们需要使用不同的测试数据运行多个测试,我们在示例中使用了传递json数组的场景大纲。测试正在正确执行。

执行后,我们需要将结果发布到我们的测试管理工具。为此,我们尝试使用空手道文档中提到的afterScenario钩子。

* configure afterScenario =
"""
function(){
var info = karate.info;
karate.log('after', info);
}
"""

在执行示例的每个场景后,我们都会看到打印的信息详细信息,但没有填充错误消息详细信息、场景名称等(title是示例部分中传递的json数组中的值。title打印在空手道执行报告中(

使用场景大纲时打印的Karate.info:-

14:45:39.744 [main] ERROR com.intuit.karate - status code was: 400, expected: 200, response time: 754, url: ##url removed###, response: ##Response removed###
14:45:39.744 [main] INFO  com.intuit.karate - after {
"featureDir": "C:\Workspace\Karate_Demo\target\test-classes\com\test\Karate_Demo",
"scenarioType": "Scenario Outline",
"featureFileName": "TestIntegration.feature",
"errorMessage": null,
"scenarioDescription": "",
"scenarioName": "<title>"
}

使用场景时打印的Karate.info:-

13:15:54.772 [main] ERROR com.intuit.karate - status code was: 400, expected: 200, response time: 1540, url: ##url removed###, response: ##Response removed###
13:15:54.795 [main] INFO  com.intuit.karate - after {
"featureDir": "C:\Workspace\Karate_Demo\target\test-classes\com\test\Karate_Demo"
"scenarioType": "Scenario",
"featureFileName": "Test.feature",
"errorMessage": "Test.feature:32 - status code was: 400, expected: 200, response time: 1540, url: ##url removed###, response: ##Response removed###,
"scenarioDescription": "",
"scenarioName": "Sample Test"
}

当我们使用场景大纲时,如果出现故障,我如何使用errorMessage填充karate.info

也许这是一个错误。所以请遵循这个过程。一旦我们能够复制它,我们就会修复它:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

同时,看看ExecutionHook是否能给您带来更好的结果:https://stackoverflow.com/a/59080128/143475

最新更新