如何在空手道的 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 文件,请使用“嵌入式表达式”。
这里解释得很好:
我的请求正文在 *.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 文件,请使用“嵌入式表达式”。
这里解释得很好: