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())

更多信息: