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

如何配置JMeter:每15分钟刷新令牌请求,另一个请求循环执行

JMeter配置方案:令牌自动刷新+循环业务请求

核心逻辑

通过双线程组分工实现:一个线程组定时获取/刷新令牌,另一个线程组循环执行业务请求,利用JMeter全局属性共享令牌值。

具体配置步骤

1. 配置「令牌获取线程组」

负责每15分钟刷新一次令牌,仅需1个线程:

  • 线程数:1
  • 循环次数:永远(或根据测试总时长设置足够大的数值)
  • 添加「Constant Timer」:设置延迟时间为900000毫秒(对应15分钟)
  • 添加GET请求:填写令牌接口的URL、请求参数/头信息
  • 添加提取器(根据响应格式选择):
    • 若响应是JSON,用「JSON Extractor」:引用名称设为access_token,JSON Path表达式写$.token(根据实际响应结构调整)
    • 若响应是文本,用「正则表达式提取器」:引用名称access_token,正则表达式匹配令牌格式(比如"token":"(.*?)")
  • 添加「JSR223 PostProcessor」,将提取到的令牌存入全局属性:
    props.setProperty("global_token", vars.get("access_token"))
    

2. 配置「业务请求线程组」

负责循环执行n次业务请求,使用全局令牌:

  • 线程数:根据并发需求设置(单线程循环n次则设为1)
  • 循环次数:n(直接填写目标次数,比如200)
  • 添加HTTP业务请求:在请求头/参数中引用全局令牌,示例:
    • 请求头添加Authorization: Bearer ${__P(global_token,)}(__P()函数用于读取全局属性)
  • 可选:添加「响应断言」,验证请求是否成功(比如检查响应码为200)

3. 调整启动顺序

确保令牌先获取完成,再启动业务请求:

  • 右键业务线程组 → 添加「逻辑控制器」→「Test Action」
  • 给Test Action添加「Constant Timer」,设置延迟5000毫秒(5秒,保证首次令牌请求完成)

关键注意事项

  • 令牌线程组的定时器必须精准设为900000毫秒,避免令牌过期
  • 优先用JSR223元件替代BeanShell,性能更优
  • 测试前单独运行令牌线程组,验证令牌提取和全局变量存储是否正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:02:40