如何在JMeter中配置:Authentication API仅执行一次,其余API按每分钟X请求运行
JMeter 线程组实现先认证再按频率跑业务接口的配置方法
配置步骤
1. 创建基础线程组
添加一个线程组,设置线程数=1,循环次数=永久——保证后续业务接口能持续运行,不会中途终止。
2. 配置仅执行一次的认证API
- 在线程组下添加仅一次控制器(Once Only Controller),将Authentication API的HTTP请求放入该控制器内。这个控制器的特性是:无论线程循环多少次,内部的请求只会执行一次,刚好满足「先执行一次认证」的需求。
- 给认证请求添加提取器:如果接口返回JSON格式,用JSON提取器;如果是纯文本,用正则表达式提取器,把返回的鉴权令牌(如
access_token)提取出来,保存为变量(例如${auth_token}),供后续两个业务API调用时做权限验证(比如放在请求头的Authorization字段中)。
3. 配置每分钟X次的业务API
要让两个业务API合计每分钟生成X次请求,有两种实用配置方式:
- 方法一:用吞吐量控制器分配请求占比
在线程组下(与仅一次控制器同级)添加吞吐量控制器,选择「Percent Executions」模式,设置吞吐量为50。随后在该控制器下分别添加两个业务API的HTTP请求,每个请求中引用${auth_token}完成鉴权。这样两个接口会各占50%的请求量,总和刚好达到每分钟X次。 - 方法二:给每个接口单独设置频率
给每个业务API分别添加Constant Throughput Timer,将「Target throughput (in samples per minute)」设置为X/2,这样单个接口每分钟执行X/2次,两个接口合计就是X次。同样要在请求中带上鉴权令牌。 - (可选优化)如果希望请求均匀分布,避免集中发送,可以添加Synchronizing Timer,让请求分散到每分钟的不同时间点。
4. 设置测试停止条件
由于线程组设置为永久循环,需要指定测试终止规则:要么在测试计划中填写「Duration (seconds)」设定运行时长,要么添加Test Action元件来手动控制停止时机。
内容的提问来源于stack exchange,提问作者Raxon
相关产品推荐
相关产品推荐

