如何增加 json 对象属性值以动态填充 jmeter 请求的 json 主体
How to increment json object properties values to dynamically populate the json body of a jmeter request
使用 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 在这些属性中的每一个中,而无需手动硬编码值?
您将不得不维持 Counter
。在要增加值的请求处,添加一个 JSR223 Pre Processor
。因为您将必须编写代码来增加值并将其保存回变量并将其分配给您的 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 在这些属性中的每一个中,而无需手动硬编码值?
您将不得不维持 Counter
。在要增加值的请求处,添加一个 JSR223 Pre Processor
。因为您将必须编写代码来增加值并将其保存回变量并将其分配给您的 Json 对象。
编辑 :- 我试着模拟你的设置如下。
设置
结果