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 Environments → Add,添加变量(如 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 等流水线。