Postman怎么自动化?

wen python案例 2

本文目录导读:

Postman怎么自动化?

  1. 核心基础知识:集合与变量
  2. 自动化方法一:Runner 运行器 —— 最便捷的批量测试
  3. 自动化方法二:Pre-request Script 与 Tests Script —— 逻辑编排
  4. 自动化方法三:Monitors (监控器) —— 无人值守的定时任务
  5. 自动化方法四:Newman —— 命令行与 CI/CD 集成
  6. 总结:你该如何选择?

Postman 的自动化能力非常强大,主要分为接口级自动化(如批量测试、数据驱动)和流程级自动化(如 CI/CD 集成、监控),下面我会从易到难,介绍几种最常用的自动化方式。

核心基础知识:集合与变量

在开始之前,请理解两个核心概念:

  • 集合 (Collection):你的自动化脚本容器,一个集合可以包含多个接口请求,以及它们的前后置脚本、测试断言。
  • 变量 (Variables):实现自动化的灵魂,通过变量(全局变量、集合变量、环境变量、数据变量)来动态替换 URL、参数、Token 等,实现一次编写,多环境运行。

自动化方法一:Runner 运行器 —— 最便捷的批量测试

这是你最常用、最基础的方式,用于快速运行集合中的所有请求。

  1. 准备集合:将你需要自动化的接口 (如登录、获取用户信息、发帖) 放入一个 Collection。

  2. 编写测试断言:在请求的 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");
    });
  3. 点击 Runner 按钮:在 Postman 右上角点击 Run 按钮。

  4. 配置运行器

    • 选择集合:选择你要测试的 Collection。
    • 选择环境 (Environment):选择测试环境、预发布环境等,环境变量会自动替换。
    • 迭代次数 (Iterations):设置运行几次,如果结合 CSV/JSON 文件,会自动循环。
    • 延迟 (Delay):设置请求间的等待时间,避免请求过密。
    • 数据文件 (Data):这是实现数据驱动测试的关键,导入一个 CSV 或 JSON 文件,文件里的字段名会成为数据变量。
  5. 运行并查看报告:点击 Run 集合名,Postman 会按顺序执行,并生成一个包含通过/失败、响应时间等详细结果的报告。

举个数据驱动的例子

  • 你有一个“用户注册”接口。
  • 在 Runner 中,导入一个 user_data.csv 文件,里面有两列:usernameemail
  • 在你的请求 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)的请求,然后设置监控。

  1. 打开你的集合。
  2. 点击 (更多操作) -> Monitors -> Create a monitor
  3. 配置
    • 名称生产环境健康监控
    • 运行频率每5分钟
    • 环境:选择 生产环境
    • 通知:设置告警方式 (如邮件、Slack、Webhook),当测试断言失败或请求超时时,你会立即收到通知。

自动化方法四:Newman —— 命令行与 CI/CD 集成

如果你想把自动化集成到开发流程 (如 GitLab CI/CD、Jenkins、GitHub Actions) 中,就需要使用 Newman。

Newman 是 Postman 的命令行工具,它可以直接运行 Postman 导出的集合文件。

  1. 导出集合和环境
    • 在 Postman 中,右键集合 -> Export -> 导出为 Collection v2.1 的 JSON 文件。
    • 同样的方式导出环境文件。
  2. 安装 Newman (需要有 Node.js 环境):
    npm install -g newman
  3. 在终端运行
    newman run 你的集合文件.json -e 你的环境文件.json -d 数据文件.csv --reporters cli,junit --reporter-junit-export results.xml
    • -e 指定环境。
    • -d 指定数据驱动文件。
    • --reporters 指定报告格式 (cli 是命令行输出,junit 是生成 XML 报告用于 CI 工具解析)。
  4. 集成到 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,最后根据需要学习 MonitorsNewman

Postman 的自动化本质上就是通过变量来参数化,通过脚本来控制流程和校验结果,掌握这一点,你就能构建出强大且稳定的自动化测试体系。

抱歉,评论功能暂时关闭!