首页主机资讯Ubuntu下Postman的自动化测试如何实现

Ubuntu下Postman的自动化测试如何实现

时间2025-12-08 18:35:06发布访客分类主机资讯浏览1045
导读:Ubuntu下Postman自动化测试实现 一 环境准备与安装 在 Ubuntu 上可通过多种方式安装 Postman,任选其一: Snap:sudo snap install postman --classic APT:导入 GPG...

Ubuntu下Postman自动化测试实现

一 环境准备与安装

  • Ubuntu 上可通过多种方式安装 Postman,任选其一:
    • Snap:sudo snap install postman --classic
    • APT:导入 GPG 并添加仓库后安装
      • wget -qO - https://dl.postman.co/postman.gpg | sudo apt-key add -
      • echo “deb https://dl.postman.co/debian $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/postman.list
      • sudo apt update & & sudo apt install postman
    • Flatpak:
      • sudo apt install flatpak
      • flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
      • flatpak install flathub com.postman.Postman
  • 安装完成后可直接启动 Postman 进行接口调试与脚本编写。

二 编写自动化测试脚本

  • Postman 脚本基于 JavaScript,在请求前后执行:
    • Pre-request Script:请求前设置变量、签名、请求头等
    • Tests:响应后做断言与校验
  • 常用脚本示例:
    • 状态码与响应时间
      • pm.test(“Status code is 200”, () => pm.response.to.have.status(200));
      • pm.test(“Response time < 200ms”, () => pm.expect(pm.response.responseTime).to.be.below(200));
    • 响应体字段与结构
      • const json = pm.response.json();
      • pm.test(“Has id field”, () => pm.expect(json).to.have.property(“id”));
      • pm.test(“Name equals”, () => pm.expect(json.name).to.eql(“test_user”));
    • 响应头
      • pm.test(“Content-Type is JSON”, () => pm.response.to.have.header(“Content-Type”, /application/json/));
    • 变量与动态数据
      • Pre-request:pm.environment.set(“token”, “abc123”);
      • Tests:pm.environment.set(“userId”, json.id);
    • 集合/数据变量
      • const uid = pm.collectionVariables.get(“userId”);
      • pm.request.url.query.add({ key: “userId”, value: uid } );
  • 调试技巧
    • 使用 console.log 输出调试信息,在 Postman 控制台查看。

三 在桌面端运行与批量执行

  • 组织用例:将相关请求放入 Collection,为不同环境创建 Environment(如开发/测试/生产)。
  • 批量运行:使用 Collection Runner 选择集合与环境,配置迭代次数、数据文件等,一键执行并查看断言结果。
  • 数据驱动:通过 CSV/JSON 数据文件 驱动多组参数执行,实现数据驱动测试。

四 命令行与CI集成

  • 使用 Newman(Postman 命令行工具)在 Ubuntu 服务器或 CI 环境执行集合:
    • 安装:npm install -g newman
    • 执行:newman run your_collection.json
  • 生成报告并集成到 GitHub Actions
    • 示例工作流要点:
      • 触发:push / pull_request
      • 步骤:安装 Node、检出代码、安装依赖、运行 Newman(CLI + JUnit 报告)
      • 上传报告:actions/upload-artifact
    • 参考命令:
      • newman run “your_postman_collection.json” --reporters cli,junit --reporter-junit-export report.xml
  • 适用场景:无头环境自动化、定时任务、代码合并门禁、流水线质量门禁。

五 实战示例 注册登录与结果校验

  • 场景:注册用户 → 登录获取 token → 访问受保护接口 → 校验结果
  • 脚本骨架(可放入相应请求的 Tests 或 Pre-request 中):
    • 注册
      • pm.sendRequest({ url: pm.environment.get(“apiBaseUrl”) + “/register”, method: “POST”, body: JSON.stringify({ email: user${ Date.now()} @test.com, password: “pwd123” } ), headers: { “Content-Type”: “application/json” } } , (err, res) => { pm.expect(res.status).to.eql(200); pm.expect(res.json().email).to.include(“@test.com”); } );
    • 登录并设环境变量
      • pm.sendRequest({ url: pm.environment.get(“apiBaseUrl”) + “/login”, method: “POST”, body: JSON.stringify({ email: “user123@test.com”, password: “pwd123” } ), headers: { “Content-Type”: “application/json” } } , (err, res) => { pm.expect(res.json().token).to.exist; pm.environment.set(“authToken”, res.json().token); } );
    • 访问用户信息并校验
      • pm.sendRequest({ url: pm.environment.get(“apiBaseUrl”) + “/user”, method: “GET”, headers: { “Authorization”: Bearer ${ pm.environment.get("authToken")} } } , (err, res) => { pm.expect(res.json().email).to.include(“@test.com”); } );
  • 说明:通过 pm.sendRequest 可在脚本中串联多个接口,实现流程化自动化测试。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu下Postman的自动化测试如何实现
本文地址: https://pptw.com/jishu/766185.html
Ubuntu上Postman的请求历史如何查看 如何在Ubuntu上导出Postman数据

游客 回复需填写必要信息