【问题标题】:Karate Framework - How to inject array to a JSON key in the payload?空手道框架 - 如何将数组注入有效负载中的 JSON 键?
【发布时间】:2018-10-03 19:50:32
【问题描述】:

我正在尝试将数组(值)注入到 json 键 propertyBatch,并且该键将具有多个数组元素作为值,见下文 -payload ex:

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

在一个场景中,我将有一个像上面这样的有效负载,然后我喜欢将 json 注入 -propertyBatch。更具体地说,假设在第一次它可能有长度为 1 的 propertyBatch,这意味着它有一个 json 值,在第二次运行中 -propertyBatch 可能有 2 或 3 个值,长度可以是 2 或 3 基于数字json 值注入。如上图payload,我有propertyBatch,长度为2,因为它有两个json值。

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

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

Karate

stackoverflow

【问题讨论】:

    标签: json karate


    【解决方案1】:

    可以使用嵌入式表达式:

    * 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] }
    

    【讨论】:

      猜你喜欢
      • 2020-11-10
      • 1970-01-01
      • 2022-09-26
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多