本文目录导读:

- 核心基础知识:集合与变量
- 自动化方法一:Runner 运行器 —— 最便捷的批量测试
- 自动化方法二:Pre-request Script 与 Tests Script —— 逻辑编排
- 自动化方法三:Monitors (监控器) —— 无人值守的定时任务
- 自动化方法四:Newman —— 命令行与 CI/CD 集成
- 总结:你该如何选择?
Postman 的自动化能力非常强大,主要分为接口级自动化(如批量测试、数据驱动)和流程级自动化(如 CI/CD 集成、监控),下面我会从易到难,介绍几种最常用的自动化方式。
核心基础知识:集合与变量
在开始之前,请理解两个核心概念:
- 集合 (Collection):你的自动化脚本容器,一个集合可以包含多个接口请求,以及它们的前后置脚本、测试断言。
- 变量 (Variables):实现自动化的灵魂,通过变量(全局变量、集合变量、环境变量、数据变量)来动态替换 URL、参数、Token 等,实现一次编写,多环境运行。
自动化方法一:Runner 运行器 —— 最便捷的批量测试
这是你最常用、最基础的方式,用于快速运行集合中的所有请求。
-
准备集合:将你需要自动化的接口 (如登录、获取用户信息、发帖) 放入一个 Collection。
-
编写测试断言:在请求的
Tests标签页中写断言(使用 JavaScript, Postman 提供了pm对象)。// 判断返回状态码是否是 200 pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // 判断返回的 JSON 中 status 字段是 "success" pm.test("Response has status success", function () { var jsonData = pm.response.json(); pm.expect(jsonData.status).to.eql("success"); }); -
点击 Runner 按钮:在 Postman 右上角点击
Run按钮。 -
配置运行器:
- 选择集合:选择你要测试的 Collection。
- 选择环境 (Environment):选择测试环境、预发布环境等,环境变量会自动替换。
- 迭代次数 (Iterations):设置运行几次,如果结合 CSV/JSON 文件,会自动循环。
- 延迟 (Delay):设置请求间的等待时间,避免请求过密。
- 数据文件 (Data):这是实现数据驱动测试的关键,导入一个 CSV 或 JSON 文件,文件里的字段名会成为数据变量。
-
运行并查看报告:点击
Run 集合名,Postman 会按顺序执行,并生成一个包含通过/失败、响应时间等详细结果的报告。
举个数据驱动的例子:
- 你有一个“用户注册”接口。
- 在 Runner 中,导入一个
user_data.csv文件,里面有两列:username,email。 - 在你的请求 URL 或 Body 中,使用
{{username}}和{{email}}变量。 - 设置迭代次数为 2。
- Runner 会自动第一次用第一行数据请求,第二次用第二行数据请求,并分别执行断言。
自动化方法二:Pre-request Script 与 Tests Script —— 逻辑编排
这是实现复杂流程自动化的核心。
-
Pre-request Script (预请求脚本):在发送请求之前执行的脚本,常用于:
- 动态生成签名 (如 MD5、HMAC)。
- 自动获取并设置 Token。
- 生成随机数据 (如随机用户名、时间戳)。
- 从上一个请求的响应中提取数据并赋给变量。
// 从响应中提取 token 并设置为集合变量 var jsonData = pm.response.json(); pm.collectionVariables.set("access_token", jsonData.data.token); // 在下一个请求的 Header 中使用 {{access_token}} -
Tests Script:在收到响应之后执行的脚本,常用于:
- 断言:验证功能正确性。
- 提取数据:供后续请求使用。
- 条件控制:如果某个字段为空,则跳过后续某请求。
自动化方法三:Monitors (监控器) —— 无人值守的定时任务
监控器让 Postman 在云端(Postman Cloud)按你设定的频率(如每 5 分钟、每小时)自动运行你的集合。
场景:你的生产环境 API 是否健康?你可以创建一个简单的集合,只包含一个获取服务器状态(/health)的请求,然后设置监控。
- 打开你的集合。
- 点击 (更多操作) ->
Monitors->Create a monitor。 - 配置:
- 名称:
生产环境健康监控 - 运行频率:
每5分钟。 - 环境:选择
生产环境。 - 通知:设置告警方式 (如邮件、Slack、Webhook),当测试断言失败或请求超时时,你会立即收到通知。
- 名称:
自动化方法四:Newman —— 命令行与 CI/CD 集成
如果你想把自动化集成到开发流程 (如 GitLab CI/CD、Jenkins、GitHub Actions) 中,就需要使用 Newman。
Newman 是 Postman 的命令行工具,它可以直接运行 Postman 导出的集合文件。
- 导出集合和环境:
- 在 Postman 中,右键集合 ->
Export-> 导出为Collection v2.1的 JSON 文件。 - 同样的方式导出环境文件。
- 在 Postman 中,右键集合 ->
- 安装 Newman (需要有 Node.js 环境):
npm install -g newman
- 在终端运行:
newman run 你的集合文件.json -e 你的环境文件.json -d 数据文件.csv --reporters cli,junit --reporter-junit-export results.xml
-e指定环境。-d指定数据驱动文件。--reporters指定报告格式 (cli 是命令行输出,junit 是生成 XML 报告用于 CI 工具解析)。
- 集成到 CI/CD:
在 CI 工具 (如 GitHub Actions) 的配置文件中,加入步骤:安装 Newman -> 运行上述命令,CI 工具会根据 Newman 的退出码 (成功/失败) 来判断构建是否通过。
你该如何选择?
| 自动化场景 | 推荐工具/方法 | 关键点 |
|---|---|---|
| 临时的回归测试 | Runner | 快速、可视化、数据驱动。 |
| 复杂的业务流测试 (如 登录->下单->支付) | Pre-request & Tests Script | 用脚本传递 Token 和状态,实现依赖。 |
| 定时巡检 API 健康状态 | Monitors | 云端运行、可配置告警、无需自己维护服务器。 |
| 集成到开发流程 (CI/CD) | Newman | 命令行运行、集成到 Jenkins/GitHub Actions、生成测试报告。 |
| 性能测试 (轻量级) | Runner + 迭代 + 数据 | 可以模拟少量并发,但性能测试还是推荐 JMeter 等专业工具。 |
学习路径建议: 先从 Runner + 环境变量 + 简单断言 开始,掌握后学习 Pre-request Script 处理 Token,最后根据需要学习 Monitors 或 Newman。
Postman 的自动化本质上就是通过变量来参数化,通过脚本来控制流程和校验结果,掌握这一点,你就能构建出强大且稳定的自动化测试体系。