如何在JMeter中以编程方式向HttpRequest添加参数

iyfjxgzm  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(167)

我现在在我们的产品性能测试中使用JMeter。
下面是一个性能测试方案:
1.从请求A中提取1000个唯一ID。
1.将1000个唯一ID作为“表单参数”添加到下一个请求B中。检查请求B的响应时间。
请求B是这样的:
方法:后
网址:http://www.aaa.com/abc/def
表单参数:
第1款:价值1
第2款:价值2
识别码:ID1
识别码:ID2
编号:ID3
......
编号:ID1000
我知道这个请求不是HTTP请求的规范用法,但它在我们的产品中使用了多年。
现在,我在“正则表达式提取器”的帮助下从请求A中获得了1000个唯一ID,
我的问题是:如何将变量传递给请求B,并将这1000个ID设置为请求B的“表单参数”?

j9per5c4

j9per5c41#

1.将JSR223预处理器添加为HTTP请求采样器的子级,其中需要添加1000个参数
1.将以下代码放入“Script”区域:

def data = new org.apache.jmeter.config.Arguments()
1.upto(vars.get('ID_matchNr') as int, index -> {
    def parameter = new org.apache.jmeter.protocol.http.util.HTTPArgument('ID', vars.get('ID_' + index))
    data.addArgument(parameter)
})
sampler.setArguments(data)

1.就是这样,JSR223预处理器将读取所有以ID_1开始并以ID_XXXX结束的JMeter Variables,并将相应的参数添加到HTTP请求采样器中
有关JMeter上下文中的Groovy脚本的更多信息:Apache Groovy - Why and How You Should Use It

相关问题