空手道框架 - 如何将数组注入有效负载中的 JSON 键?

Karate Framework - How to inject array to a JSON key in the payload?

我正在尝试将数组(值)注入 json 键 propertyBatch,这个键将有多个数组元素作为值,见下文 -payload 例如:

{
  "fname": "value1",
  "propertyBatch":
    [ 
      {
      "propId": 11,
      "subPropId": {
                    "id": [
                            "4234"
                          ]
                   }
      },
      {
      "propId": 12,
      "subPropId": {
                    "id": [
                           "4235"
                          ]
                   }
      }
    ]
}     

在一个场景中,我会有一个像上面那样的有效负载,然后我想将 json 注入到 -propertyBatch。更具体地说,假设在第一种情况下它可能具有长度为 1 的 propertyBatch,这意味着它具有一个 json 值,而在第二种情况下 运行 -propertyBatch 可能具有 2 或 3 个值并且根据 json 值注入的数量,长度可以是 2 或 3。如上图 payload 所示,我的 propertyBatch 长度为 2 因为它有两个 json 值。

我想实现这一点,我想我的场景是 Scenario Outline:Examples ,示例将有 json 值来替换或注入键 - propertyBatch

请注意,我尝试了以下链接中解释的各种示例和各种方法。并且还使用 javax.Json 库实现了 java 代码,但是 return 值是一个字符串或数组,我无法成功或解决我的 objective.

Karate

Whosebug

可以使用嵌入表达式:

* def baz = [1, 2]
* def foo = { bar: 1, baz: '#(baz)' }
* match foo == { bar: 1, baz: [1, 2] }

* def baz = [3]
* def foo = { bar: 1, baz: '#(baz)' }
* match foo == { bar: 1, baz: [3] }