如何将值输入到 Gatling 的 json 数组中的字段中?

Posted

技术标签:

【中文标题】如何将值输入到 Gatling 的 json 数组中的字段中?【英文标题】:How to feed a value into a field in a json array in Gatling? 【发布时间】:2022-01-23 02:28:04 【问题描述】:

我正在使用 Gatling 测试一个接受如下 json 主体的 API:


 "data": 
      "fields": [
        
          "rank": 1
        ,
        
          "name": "Jack"
        
       ]
    
 

我创建了一个文件 feeder.json,其中包含上面的 json 对象数组。 下面是 feeder.json

[
 
 "data": 
      "fields": [
        
          "rank": 1
        ,
        
          "name": "Jack"
        
       ]
    
 
]

我已经创建了另一个文件 template.txt 包含上述 json 的模板。 下面是template.txt


 "data": 
      "fields": [
         
          "rank": $data.fields[0].rank     //this is not working
        ,
        
          "name": "Jack"
        
       ]
    
 
val jsonFeeder = jsonFile("feeder.json").circular
scenario("Test scenario")
      .feed(jsonFeeder)
      .exec(http("API call test")
       .post("/data")
       .body(ElFileBody("template.txt"))
       .asJson
       .check(status is 200))

我正在喂 feeder.json 并从 template.json 发送 json 正文。 'rank' 属性值应该从 feeder 设置到 json 正文中。但我收到一个错误“名为“数据”的地图不包含键“字段 [0]”。坚持这一点。

【问题讨论】:

【参考方案1】:

Access by index syntax uses parens, not square braces.

#data.fields(0).rank

【讨论】:

以上是关于如何将值输入到 Gatling 的 json 数组中的字段中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将值的数组参数输入到 Firebird 存储过程?

将值附加到存储在 MySQL 中的 JSON 解码数组参数

如何将值返回到数组

如何将值添加到其他类的数组列表中?

Jquery:将值数组从一个数组输入传递到另一个数组输入字段

ionic:如何使用 push 将值输入到 Angular 中