我可以在 JSON 文件中包含所需的所有 JSON 路径,并在我的特征文件中使用它来进行匹配或其他任何操作吗?

Can I include the all JSON paths required in a JSON file and use it inside my feature file for match or anything else?

例如,我保存 paths.json 并添加以下内容。我知道我尝试的方式有误,但找不到它

{
  "name": "JSON Path's",
  "description": "This mainly store the paths of the JSON elements which are validated in each scenario",
  "SC_4": {
    "appHeader": "$.testResponse.applicationHeader",
    "ProductsAction": "$.testResponse.applicationHeader.item.action"
  }
} 


* def attributes = read('../jsonpaths/paths.json')
Given url endPointURL
And request baseJsonRequest
When method post
Then status 200
* def appHeaderSecondTry = attributes.SC_4.appHeader
* print appHeaderSecondTry

哇,你这么快就成为空手道的高级用户了:P

好吧,我个人不建议尝试像您正在做的那样在 Karate 上构建一个迷你框架,我可以看到您正在尝试做什么 - 保留所有断言 "declarative" 并尝试重新 -使用通用代码进行实际的 HTTP 调用等。

我对此的看法是,您可以节省很少的代码行(因为在空手道中发出 HTTP 请求非常容易)。此外,您应该能够通过 call 关键字重新使用功能文件。我强烈建议您尝试在测试中保留匹配语句 "normal"。

也就是说,您缺少的是 karate.eval() 操作,请在文档中查找。这是一个示例(第 91 行):js-arrays.feature