Postman在Ubuntu上如何进行集成测试
导读:在 Ubuntu 上,Postman 的集成测试通常通过桌面客户端进行用例设计与本地调试,再借助 Newman 在命令行与 CI/CD 中执行,实现自动化与持续集成。 安装与本地调试 安装方式 使用 Snap:sudo snap ins...
在 Ubuntu 上,Postman 的集成测试通常通过桌面客户端进行用例设计与本地调试,再借助 Newman 在命令行与 CI/CD 中执行,实现自动化与持续集成。
安装与本地调试
- 安装方式
- 使用 Snap:sudo snap install postman --classic
- 使用 APT 仓库:
- 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
- 手动安装(下载安装包):
- 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
- 创建桌面入口 /usr/share/applications/postman.desktop(Exec 指向 /usr/local/bin/postman,Icon 指向对应图标路径)
- 本地调试
- 在 Postman 中创建 Collection 与 Request,在 Tests 标签用 JavaScript 编写断言,例如:
- pm.test(“Status code is 200”, () => pm.response.to.have.status(200));
- pm.test(“Response has id”, () => pm.expect(pm.response.json().id).to.exist);
- 使用 Runner 批量运行集合,校验响应状态、头、体、耗时等指标。
- 在 Postman 中创建 Collection 与 Request,在 Tests 标签用 JavaScript 编写断言,例如:
使用 Newman 进行自动化测试
- 安装 Newman(Node.js 与 npm 已安装前提下)
- npm install -g newman
- 运行测试
- 基本:newman run your_collection.json
- 使用环境变量/全局变量:newman run collection.json --environment env.json --globals globals.json
- 生成报告:newman run collection.json --reporters cli,junit --reporter-junit-export report.xml
- 常用选项
- –delay-request:请求间延迟(毫秒)
- –timeout-request:请求超时(毫秒)
- –bail:遇到失败立即退出
- –verbose:输出更详细日志
集成到 CI/CD
- 示例 GitHub Actions 工作流(Ubuntu runner)
- 触发时机:push / pull_request 到 main
- 步骤:检出代码 → 安装 Node.js → 全局安装 Newman → 运行集合并导出 JUnit 报告 → 上传报告产物
- 参考工作流:
- name: Run Postman API Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
postman-tests:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${
{
matrix.node-version }
}
- name: Install Newman
run: npm install -g newman
- name: Run Postman Collection
run: |
newman run “your_postman_collection.json”
–environment “env.json”
–reporters cli,junit
–reporter-junit-export report.xml - name: Upload Test Results uses: actions/upload-artifact@v2 with: name: postman-test-results path: report.xml
- name: Run Postman API Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
postman-tests:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${
{
matrix.node-version }
}
- name: Install Newman
run: npm install -g newman
- name: Run Postman Collection
run: |
newman run “your_postman_collection.json”
- 其他 CI 工具(如 Jenkins)
- 在构建步骤中执行 Newman 命令,并使用 JUnit 插件发布测试报告,结合构建状态门禁实现质量关卡。
最佳实践与常见问题
- 将 Collection 与 Environment 纳入版本控制(如仓库根目录 /tests/postman/),保持与代码同步;CI 中通过相对路径引用。
- 管理机密信息:避免在集合或环境 JSON 中明文存放 API Key / Token,在 CI 中使用 Secrets 注入(GitHub Actions 的 secrets、Jenkins 的 Credentials 等),Newman 可通过环境变量读取。
- 稳定性与可维护性
- 为接口设置合理的 超时 与 重试(如 --timeout-request、–delay-request),避免偶发性失败。
- 使用 Collection Runner 的 **数据文件(CSV/JSON)**驱动数据驱动测试,覆盖多组入参与边界场景。
- 统一 断言命名 与 报告归档,便于回溯与度量(成功率、响应时长分布等)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Postman在Ubuntu上如何进行集成测试
本文地址: https://pptw.com/jishu/757186.html
