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

空手道DSL-与场景大纲一起使用时,不会填充Karate.info,karate,Karate,我们正在使用空手道测试我们的应用程序。因为我们需要使用不同的测试数据运行多个测试,所以我们在示例中使用了传递json数组的场景大纲。测试得到了正确的执行 执行后,我们需要将结果发布到我们的测试管理工具。为此,我们正试图使用空手道文档中提到的afterScenario钩子 * configure afterScenario = """ function(){ var info = karate.info; karate.log('after', info); } """ 在执行示例的每个

我们正在使用空手道测试我们的应用程序。因为我们需要使用不同的测试数据运行多个测试,所以我们在示例中使用了传递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>"
}
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"
}

当我们使用场景大纲时,如果出现故障,我如何让karate.info填充errorMessage呢。所以请遵循这个过程。一旦我们能够复制它,我们将修复它:


同时,看看ExecutionHook是否能给你更好的结果:

也许这是一个bug。所以请遵循这个过程。一旦我们能够复制它,我们将修复它:


同时看看
ExecutionHook
是否能提供更好的结果:

尝试使用ExecutionHook。我可以看到BeforeCasenario和AfterCnenario只执行了一次,即使该功能在示例中有10多行的场景大纲。我将提交一个问题的细节和样本项目。@jerryV和固定。请在本地进行构建和测试,以便我们可以使用ExecutionHook发布SoonerThready。我可以看到BeforeCasenario和AfterCnenario只执行了一次,即使该功能在示例中有10多行的场景大纲。我将提交一个问题的细节和样本项目。@jerryV和固定。请在本地进行构建和测试,以便我们能够发布解决问题的解决方案