Jmeter根据DataSet构造参数值
Jmeter Construct Parameter Value based on DataSet
在JMeter中,我想根据PropertyCount从数据集文件构造请求参数值。
数据集
PropertyCount propertyid1 propertyid2 propertyid3
2 13029526 15763743
3 13029526 15763743 12345645
2 13029526 15763743
请求输入参数
"值":["13029526","15763743"]
“值”:[${outputString}]
预处理器脚本
使用下面的预处理器脚本,我得到了以下输出,但希望获得请求输入参数中的值,带引号。
2021-08-29 22:15:04,706 INFO o.a.j.m.J.JSR223 预处理器:所需输出:13029526,15763743,
2021-08-29 22:15:04,785 INFO o.a.j.m.J.JSR223 预处理器:所需输出:13029526,15763743,
JSR223 预处理器
def requiredOutput = new StringBuilder()
1.upto(vars.get('propertycount') as int, {
requiredOutput.append(vars.get('propertyid' + it))
requiredOutput
requiredOutput.append(',')
vars.put("outputString",requiredOutput.toString());
})
您似乎是在构造一个 JSON Array therefore it makes more sense to consider using Groovy's JsonBuilder 而不是进行手动字符串连接:
def outputString = []
1.upto(vars.get('PropertyCount') as int, {
outputString.add(vars.get("propertyid$it"))
})
vars.put('outputString', new groovy.json.JsonBuilder(outputString).toPrettyString())
更多信息:
在JMeter中,我想根据PropertyCount从数据集文件构造请求参数值。
数据集
PropertyCount propertyid1 propertyid2 propertyid3
2 13029526 15763743
3 13029526 15763743 12345645
2 13029526 15763743
请求输入参数
"值":["13029526","15763743"]
“值”:[${outputString}]
预处理器脚本
使用下面的预处理器脚本,我得到了以下输出,但希望获得请求输入参数中的值,带引号。
2021-08-29 22:15:04,706 INFO o.a.j.m.J.JSR223 预处理器:所需输出:13029526,15763743, 2021-08-29 22:15:04,785 INFO o.a.j.m.J.JSR223 预处理器:所需输出:13029526,15763743,
JSR223 预处理器
def requiredOutput = new StringBuilder()
1.upto(vars.get('propertycount') as int, {
requiredOutput.append(vars.get('propertyid' + it))
requiredOutput
requiredOutput.append(',')
vars.put("outputString",requiredOutput.toString());
})
您似乎是在构造一个 JSON Array therefore it makes more sense to consider using Groovy's JsonBuilder 而不是进行手动字符串连接:
def outputString = []
1.upto(vars.get('PropertyCount') as int, {
outputString.add(vars.get("propertyid$it"))
})
vars.put('outputString', new groovy.json.JsonBuilder(outputString).toPrettyString())
更多信息: