首页 > 解决方案 > 如何增加 json 对象属性值以动态填充 jmeter 请求的 json 正文

问题描述

使用 JMeter 我需要发送一个请求,其中包含以下格式的正文:

  {
       "key1":"value1",
       "key2":{
          "key21":[
             {
                "key211_1":"valueA",
                "key212_1":"valueToIncrement",
                "key213_1":{
                   "key2131_1":"valueB",
                   "key2132_1":"valueC",
                },
                "key214_1":{
                   "key2141_1":"valueD",
                   "key2142_1":"valueE"
                }
             },
             {
                "key211_2":"valueA",
                "key212_2":"valueToIncrement+1",
                "key213_2":{
                   "key2131_2":"valueB",
                   "key2132_2":"valueC",
                },
                "key214_2":{
                   "key2141_2":"valueD",
                   "key2142_2":"valueE"
                }
             }
          ]
       }
    }

在正文中,我可以有许多 json 对象的列表,每个对象在请求中都有一些具有唯一 id 的属性。

就像是:

{
"key212_1":"1"
},
{
"key212_2":"2"
}
...
{
"key212_2":"n"
}

因为我可以在请求正文中包含数百个对象,所以我可以在 Jmeter 中创建一个逻辑,以便每次发送请求时,目标属性中的每个值都会在这些属性中的每个值中增加 1,而不必手动硬编码值?

标签: jsonjmeter

解决方案


您将不得不维护Counter. 在要增加值的请求中,添加JSR223 Pre Processor. 在那里,您必须编写代码来增加值并将其保存回变量,并将其分配给您的 Json 对象。

编辑:- 我试图模拟您的设置,如下所示。

设置 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

结果 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述


推荐阅读