温馨提示×

Linux版Postman如何进行API测试

小樊
34
2025-12-29 17:46:41
栏目: 智能运维

Linux版 Postman 进行 API 测试的完整流程

一 安装与启动

  • 使用 Snap 安装(推荐)
    • 安装 Snapd:sudo apt update && sudo apt install snapd
    • 安装 Postman:sudo snap install postman
    • 启动:在终端输入 postman 或从应用菜单打开
  • 手动安装(适用于不支持 Snap 或需离线安装)
    • 下载 Linux 版本:wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
    • 解压到系统目录:sudo mkdir -p /opt/postman && sudo tar zxvf postman.tar.gz -C /opt/postman
    • 创建软链便于命令行启动:sudo ln -s /opt/postman/Postman/Postman /usr/local/bin/postman
    • 启动:postman 以上两种方式均为 Linux 上常用的安装路径,Snap 更简便,手动安装更灵活。

二 发送第一个请求与查看响应

  • 新建请求:点击左上角 +HTTP Request
  • 配置请求
    • 方法:选择 GET/POST/PUT/DELETE
    • URL:输入完整地址(如 https://api.example.com/users)
    • Params:添加查询参数(如 id=123)
    • Headers:添加请求头(如 Content-Type: application/json
    • Body:选择 raw → JSON 并输入请求体(如 {“name”:“John”})
  • 发送与查看:点击 Send,在下方 Response 面板查看状态码、响应头、响应体(可用 Pretty 格式化 JSON)
  • 导入用例:已有集合时可通过 File → Import 导入 .json 集合文件,快速复用测试

三 断言与变量管理

  • 编写测试脚本(Tests 标签页,使用 JavaScript)
    • 验证状态码: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));
    • 验证 JSON 字段:pm.test(“Name is John”, () => { const json = pm.response.json(); pm.expect(json.name).to.eql(“John”); });
  • 预请求脚本(Pre-request Script)
    • 生成时间戳与签名示例:
      • const CryptoJS = require(“crypto-js”);
      • const ts = Date.now(); const sig = CryptoJS.MD5(“secret” + ts).toString();
      • pm.environment.set(“timestamp”, ts); pm.environment.set(“signature”, sig);
  • 环境变量与参数化
    • 创建环境:右上角环境图标 → Manage EnvironmentsAdd,添加变量(如 base_url
    • 使用变量:在 URL/Headers/Body 中以 {{base_url}} 引用
    • 调试输出:在脚本中使用 console.log,打开控制台 View → Show Postman Console(Ctrl+Alt+C) 查看变量与执行信息

四 批量运行与命令行自动化

  • 集合运行器(图形界面)
    • 选中集合 → 右侧 Run → 配置迭代次数与延迟 → Run 执行,查看通过/失败统计与详细报告
  • Newman 命令行(CI/CD 推荐)
    • 安装 Newman:npm install -g newman
    • 运行集合:newman run collection.json -e environment.json
    • 常用选项:–reporters cli,json,html 生成多种报告;–iteration-data data.csv 进行数据驱动测试
  • 简单 CI 示例(GitLab CI)
    • stages: - test
    • api_test:
      • stage: test
      • script:
        • npm install -g newman
        • newman run ./my_collection.json --environment ./env.json Newman 可在无界面环境下批量运行 Postman 集合,并方便集成到 Jenkins/GitLab CI 等流水线。

0