在 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 安装
- 安装 Flatpak 并添加 Flathub:
- sudo apt update && sudo apt install flatpak
- flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- 安装:flatpak install flathub com.postman.Postman
- 手动安装(下载解压)
- 下载并解压:wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz && sudo tar -xzf postman.tar.gz -C /opt/
- 创建软链:sudo ln -s /opt/Postman/Postman /usr/local/bin/postman
- 启动方式
- 命令行:postman
- 或应用菜单中打开 Postman
二 在 Postman 内组织跨平台用例
- 创建集合 Collection:将同一业务域的接口按功能分组,便于批量运行与共享。
- 配置环境 Environment:为 开发/测试/预发/生产 分别建立环境,使用变量如 {{baseUrl}}、{{token}},在不同平台/部署间一键切换。
- 编写测试脚本 Tests:在请求的 Tests 标签用 JavaScript 断言响应,例如:
- 状态码:pm.test(“Status code is 200”, () => pm.response.to.have.status(200));
- 响应体字段:pm.test(“Name is correct”, () => pm.expect(pm.response.json().name).to.eql(“expected”));
- 预请求脚本 Pre-request:用于生成时间戳、签名、动态变量等,保证请求在不同环境下的一致性。
三 本地批量运行与验证
- 集合运行器 Collection Runner:在 GUI 中批量运行集合,配置 迭代次数、数据文件、环境 等,统一查看断言结果与耗时。
- 命令行运行 Newman(推荐用于自动化与 CI)
- 安装:npm install -g newman
- 基本运行:导出集合 collection.json 与环境 environment.json 后执行
- newman run collection.json --environment environment.json
- 常用选项:–reporters cli,html,json 生成多格式报告;–iteration-count 10 做压力/稳定性验证。
四 跨平台与 CI 集成实践
- 统一产物:将 集合 JSON、环境 JSON、数据文件(CSV/JSON) 纳入版本控制,保证各平台(Windows/macOS/Linux)执行一致。
- GitHub Actions 示例
- 在仓库 .github/workflows/postman.yml:
- 触发:on: [push, pull_request]
- 任务示例:
- runs-on: ubuntu-latest
- 步骤:
- uses: actions/checkout@v4
- run: npm install -g newman
- run: newman run collection.json -e environment.json --reporters cli,html --output-file newman-report.html
- 报告可上传为 GitHub Pages 或 制品,便于团队查看与归档。
五 常见问题与建议
- 环境与变量优先级:明确 环境 > 集合 > 全局 的变量覆盖关系,避免不同平台取值不一致。
- 认证与敏感信息:使用 环境变量/Secrets 管理 API Key、Token、证书,切勿硬编码。
- 数据驱动测试:用 CSV/JSON 数据文件驱动多组入参,覆盖 边界值/异常场景。
- 报告与可追溯:在 CI 中启用 HTML/JSON 报告,保存运行记录,便于回溯与对比。
- 本地与 CI 一致性:确保 CI 与本地使用相同的 集合版本、环境文件与 Newman 版本,减少“在我机器上能跑”的问题。