You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter的JSR223中用Groovy为GET请求添加参数?

在JMeter的JSR223元件中为GET请求添加参数的方法

下面介绍两种在JSR223元件(推荐使用Groovy脚本)中给GET请求添加参数的常用方式:

方法一:直接拼接URL参数(适合简单场景)

如果参数数量少、值固定或仅需简单动态生成,直接把参数拼在URL末尾即可,格式为[基础URL]?[参数名1]=[参数值1]&[参数名2]=[参数值2]:

// 构造完整的带参数GET请求URL
def fullUrl = "https://your-api-domain.com/api/data?id=123&type=user"

// 创建HTTP请求采样器
def httpSampler = new org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy()
httpSampler.setDomain("your-api-domain.com")
httpSampler.setPort(443)
httpSampler.setPath("/api/data")
httpSampler.setMethod("GET")
// 直接设置完整URL
httpSampler.setUrl(fullUrl)

// 将采样器添加到当前线程组
def threadGroup = ctx.getThreadGroup()
threadGroup.addTestElement(httpSampler)

方法二:使用JMeter API管理参数(适合动态/多参数场景)

如果需要动态生成参数、批量管理参数,或者依赖JMeter变量取值,推荐使用JMeter的Arguments类来添加参数,它会自动处理URL编码等细节:

// 创建HTTP请求采样器
def httpSampler = new org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy()
httpSampler.setDomain("your-api-domain.com")
httpSampler.setPort(443)
httpSampler.setPath("/api/data")
httpSampler.setMethod("GET")

// 创建参数集合对象
def requestParams = new org.apache.jmeter.config.Arguments()
// 添加静态参数
requestParams.addArgument("id", "123")
requestParams.addArgument("type", "user")
// 添加动态参数(从JMeter变量中取值)
requestParams.addArgument("token", vars.get("auth_token"))

// 将参数集合绑定到HTTP请求采样器
httpSampler.setArguments(requestParams)

// 将采样器添加到当前线程组
def threadGroup = ctx.getThreadGroup()
threadGroup.addTestElement(httpSampler)

GUI配置参考

脚本逻辑和JMeter GUI界面的操作是对应的,你可以参考以下截图理解参数配置的对应关系:

  • GUI中HTTP请求的「参数」面板添加键值对,和脚本里requestParams.addArgument()的效果一致:
    HTTP请求参数GUI配置界面
  • 脚本生成的请求运行后,可在「查看结果树」中看到自动拼接参数的完整请求:
    结果树中的GET请求详情

内容的提问来源于stack exchange,提问作者Chiantiman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:54:18