如何在空手道的 JSON 文件中传递参数

How to pass parameter in a JSON file in karate

我的请求正文在 *.json 文件中,并且在多个测试场景中使用具有不同参数的相同 *.json 请求正文。如何在这种情况下传递变量。

下面我试过了

* def requestBody = call read ('successScenario.json') { id: 'U123', age: 23, date: currentDate }
And request requestBody

请注意我不能使用示例,因为我的变量之一是 currentDate 函数,所以如何通过示例传递 currentDate 变量。

这是行不通的。如果我不在这里传递参数,它就可以正常工作。我不想在 karate-config.js 文件中定义这些参数,因为它是场景相关变量。

当我在 *.js 文件中使用上面的内容时,它工作正常但响应正文是 JSON 我无法为此制作 *.js 文件。

请注意,没有 call read('some.json') 这样的东西。换句话说,JSON 不是你可以 call.

请花点时间阅读这部分文档:https://github.com/karatelabs/karate#call-vs-read

如果要“数据驱动”JSON 文件,请使用“嵌入式表达式”。

这里解释得很好: