【问题标题】:Issue with creating a dynamic request body from external json file in karate从空手道中的外部 json 文件创建动态请求正文的问题
【发布时间】:2020-12-04 20:16:03
【问题描述】:

我正在尝试从外部 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 获取颜色键的值,即红色,但它被评估为 null。

【问题讨论】:

    标签: karate


    【解决方案1】:

    不应该是:

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

    【讨论】:

    • 谢谢!解决方案比我想象的要简单:)
    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2018-04-18
    相关资源
    最近更新 更多