JMeter中多API并发调用的性能测试实现方案问询
解决两个核心问题:定位API Endpoint + 构建多API并发性能测试场景
一、准确定位刷新触发的API Endpoint
如果浏览器XHR过滤找不到目标API,试试这几个实用方法:
- 浏览器网络面板全量捕获:打开开发者工具→网络面板,点击「清空」按钮,勾选「保留日志」,然后点击页面刷新图标。取消XHR过滤,查看所有新增请求,通过请求路径(比如含
account/deposit/order关键词)、请求方法(GET/POST)、响应内容判断哪些是目标API。还可以看「发起者」列,找到由刷新按钮触发的请求(发起者会关联到对应的前端JS文件或点击事件)。 - JMeter录制捕获:用JMeter的「HTTP(S) Test Script Recorder」,配置浏览器代理为JMeter的代理地址(默认127.0.0.1:8888),开启录制后点击页面刷新,JMeter会自动捕获所有请求,直接导出为HTTP请求元件即可,不会遗漏任何API。
二、构建多API并发性能测试场景
基于你已有的单API测试用例,按以下步骤搭建场景:
1. 基础配置准备
- 把捕获到的所有目标API整理好,确认每个API的请求方法、路径、headers(如鉴权token、Cookie)、参数等信息,直接复用你单API测试时的配置。
- 安装「Parallel Controller」插件(通过JMeter插件管理器搜索安装),这个元件可以让多个API请求并行执行,模拟页面刷新时的并发调用逻辑。
2. 测试计划结构示例
测试计划 ├─ 线程组(线程数:50,Ramp-Up时间:10s,循环次数:1) │ ├─ HTTP Cookie管理器(自动维护会话Cookie) │ ├─ HTTP Header管理器(设置通用headers:如Authorization、Content-Type) │ ├─ 登录请求(若需鉴权,添加后用JSON提取器提取token,传给后续API) │ ├─ 事务控制器(名称:页面刷新操作,勾选「生成父样本」—— 用于统计整个刷新操作的性能) │ │ ├─ Parallel Controller(核心:让内部请求并行执行) │ │ │ ├─ HTTP请求:获取客户账户信息 │ │ │ ├─ HTTP请求:获取存款记录 │ │ │ └─ HTTP请求:获取订单编号 │ ├─ 查看结果树(调试用) │ └─ 聚合报告(统计性能指标:响应时间、吞吐量、错误率等)
3. 关键细节
- 并行逻辑:Parallel Controller会让内部的所有HTTP请求同时发起,完全模拟用户点击刷新后,前端同时调用多个API的行为。
- 参数化:如果需要模拟不同用户,用「CSV Data Set Config」加载用户ID列表,通过
${userId}变量替换API路径或参数中的用户标识。 - 鉴权处理:如果系统需要登录态,先在登录请求后添加「JSON提取器」,从登录响应中提取token,然后在HTTP Header管理器中引用
${token},确保后续API请求携带有效鉴权信息。
内容的提问来源于stack exchange,提问作者itsme017
相关产品推荐
相关产品推荐

