Karate 在空手道中从外部json文件创建动态请求正文时出现问题

Karate 在空手道中从外部json文件创建动态请求正文时出现问题,karate,Karate,我正在尝试从外部json文件动态创建请求主体。 我想更新几个值,并保持其余值与从json接收到的值相同。 这里的想法是保留一个可维护的json文件,并在运行时对其进行操作以执行各种场景 这是我的功能文件: * def myJson = read('testFile.json') * def requestBody = { "product": "#(myJson.product)", "properties": { "make

我正在尝试从外部json文件动态创建请求主体。 我想更新几个值,并保持其余值与从json接收到的值相同。 这里的想法是保留一个可维护的json文件,并在运行时对其进行操作以执行各种场景

这是我的功能文件:

* def myJson = read('testFile.json')
* def requestBody = { "product": "#(myJson.product)", "properties": { "make": "#(brand)", "color": "#(myJson.color)" }
When request requestBody
And method post
Then status 200

Examples:
| brand |
| honda |
testFile.json的内容是-

{
 "product": "car",
 "properties": {
 "make": "brand",
 "color": "red"
 }
}
问题是,只要存在嵌套的json对象,这些字段就不会保留json中的值。如果该值作为示例从要素文件传递,则会正确计算该值。下面是如何在服务调用中传递请求体-

{
 "product": "car",
 "properties": {
 "make": "honda",
 "color": null
 }
}
我需要从myJson获取颜色键的值,即红色,但它的计算结果为空。

它不应该是:

"color": "#(myJson.properties.color)"
难道不是:

"color": "#(myJson.properties.color)"

谢谢解决方案比我想象的要简单:)谢谢!解决方案比我想象的要简单:)