Postman怎么批量测试API接口压力测试

发布:2026-10-19 13:10:29 阅读:457
Postman可通过Collection Runner实现高并发压力测试,支持基础压测、参数化数据驱动、Pre-request动态负载、Tests链式状态传递及Newman命令行扩展五种方式。

如果您需要验证API在高并发场景下的响应能力与稳定性,Postman 提供了基于 Collection Runner 的压力测试能力。以下是实现批量压力测试的具体路径:

一、使用 Collection Runner 执行基础压测

Collection Runner 是 Postman 内置的批量执行工具,通过设定迭代次数与请求间隔,可模拟多轮并发调用,适用于初步压力探查。该方式无需外部依赖,适合快速验证单接口或轻量级集合。

1、在 Postman 左侧导航栏中,右键目标 Collection → 选择“Run”。

2、在弹出的 Runner 窗口中,确认已选中该 Collection 下全部或指定请求。

3、在“Iterations”栏输入期望的总执行轮数,例如 50 次。

4、在“Delay”栏设置每次请求之间的毫秒级间隔,例如 100 ms,以控制请求节奏。

5、点击“Run Collection”按钮启动压测流程。

二、结合 CSV 或 JSON 数据文件进行参数化压测

当需对不同参数组合施加压力(如多用户 ID、多样化请求体),仅靠固定请求无法覆盖真实负载特征。此时导入结构化数据文件,使每次迭代携带独立变量,可显著提升压测真实性与覆盖面。

1、准备 CSV 文件(如 data.csv),内容示例:
userId,username,email
1,john,john@example.com
2,jane,jane@example.com

2、在目标请求的 URL、Headers 或 Body 中,使用双花括号引用变量,例如 {{userId}}、{{username}}。

3、打开 Runner 界面,在“Data”区域点击“Select File”,上传该 CSV 文件。

4、勾选“Use data file for iterations”,并确认“Iterations”值不低于数据行数。

5、点击“Run Collection”开始带参压测。

三、通过 Pre-request Script 控制动态负载强度

Pre-request Script 可在每次请求发出前执行 JavaScript 逻辑,用于生成时间戳、随机数、递增序列或条件性修改请求参数,从而构建非固定模式的压力流,更贴近生产环境流量特征。

1、在目标请求编辑页,切换至“Pre-request Script”标签页。

2、输入脚本,例如生成递增订单号:
pm.variables.set("order_id", pm.iterationData.get("userId") + "_" + Date.now());

3、在请求 URL 或 Body 中引用该变量:{{order_id}}。

4、在 Runner 中配置迭代次数与延迟后运行集合。

四、利用 Tests 脚本实现请求链式压测与状态传递

对于需维持会话状态(如登录态 Token)的多接口压测场景,单次请求无法独立完成全流程。通过 Tests 脚本提取响应字段并写入环境变量,再由后续请求复用,可构建有状态的压测工作流,确保压力路径符合业务逻辑。

1、在登录请求的 Tests 标签页中添加脚本:
pm.test("Extract auth token", function () {
  const jsonData = pm.response.json();
  pm.environment.set("auth_token", jsonData.token);
});

2、在后续受保护接口的 Authorization 设置中选择 “Bearer Token”,并在 Token 字段填入 {{auth_token}}。

3、将登录请求与业务请求共同加入同一 Collection。

4、在 Runner 中设定足够迭代次数(如 30),启动压测。

五、导出为 Newman 命令行压测以脱离 UI 限制

Postman UI 在高迭代、长时运行下存在资源占用与稳定性风险。Newman 是 Postman 官方命令行运行器,支持无界面、可脚本化、可集成 CI/CD 的压测执行,适用于长时间、高强度压力场景。

1、在终端执行 npm install -g newman 安装 Newman。

2、导出 Collection 为 JSON 文件(右键 Collection → Export → Collection v2.1)。

3、导出环境文件(右键 Environments → Export)。

4、执行命令:
newman run "my-collection.json" -e "my-env.json" -n 100 --delay 50。

5、观察终端实时输出的响应时间、状态码与失败统计。

最新资讯

查看更多