【问题标题】:Jmeter Construct Parameter Value based on DataSetJmeter基于DataSet构造参数值
【发布时间】:2021-09-03 04:50:33
【问题描述】:

在 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 信息 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());

})

【问题讨论】:

    标签: jmeter preprocessor jsr223


    【解决方案1】:

    您似乎正在构建 JSON Array,因此考虑使用 Groovy 的 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())
    

    更多信息:

    【讨论】:

    • 感谢@Dmitri T。效果很好。
    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2021-10-11
    • 2023-01-16
    • 2017-12-13
    • 2011-10-08
    相关资源
    最近更新 更多