Ubuntu中Postman脚本编写与执行技巧
导读:Ubuntu下Postman脚本编写与执行技巧 一 环境准备与安装 使用 Snap 安装(推荐): 更新并安装 Snap:sudo apt update && sudo apt install snapd 安装 Post...
Ubuntu下Postman脚本编写与执行技巧
一 环境准备与安装
- 使用 Snap 安装(推荐):
- 更新并安装 Snap:sudo apt update & & sudo apt install snapd
- 安装 Postman:sudo snap install postman
- 启动:postman
- 使用官方 Linux 64 位安装包:
- 下载并解压: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,内容示例:
- [Desktop Entry]
- Encoding=UTF-8
- Name=Postman
- Exec=/opt/Postman/Postman
- Icon=/opt/Postman/app/resources/app/assets/icon.png
- Terminal=false
- Type=Application
- Categories=Development;
- 赋权:sudo chmod +x /usr/share/applications/postman.desktop
- 以上两种方式均可在 Ubuntu 上稳定运行 Postman 桌面客户端。
二 脚本编写核心要点
- 脚本类型与入口:
- Pre-request Script:请求发送前执行,常用于设置 Headers、Query、认证 Token、动态生成时间戳/签名等。
- Tests:响应返回后执行,用于断言与结果校验,如状态码、响应时间、响应体字段等。
- 变量与取值:
- 常用变量作用域:Environment、Global、Collection Variables、Data(数据文件)、Local。
- 取值示例:pm.environment.get(“token”)、pm.collectionVariables.get(“userId”)。
- 常用断言与响应处理:
- 状态码:pm.response.to.have.status(200)
- 响应时间:pm.expect(pm.response.responseTime).to.be.below(200)
- JSON 解析与字段断言:
- const json = pm.response.json();
- pm.expect(json).to.have.property(“userId”)
- 日志与调试:
- 输出日志:console.log(“Debug:”, value)
- 在桌面客户端使用 Console/测试输出面板 查看脚本日志与断言结果,便于定位问题。
三 快速示例可复用模板
- Pre-request Script(动态注入 Authorization 与查询参数)
// 从环境读取 const token = pm.environment.get("token") || ""; const userId = pm.collectionVariables.get("userId"); // 设置请求头 pm.request.headers.add({ key: "Authorization", value: "Bearer " + token } ); // 动态查询参数 if (userId) { pm.request.url.query.add({ key: "userId", value: userId } ); } console.log("Pre-request: token=", token, "userId=", userId); - Tests(状态码、响应时间、JSON 字段与类型校验)
// 状态码 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("Response has userId and is string", () => { const json = pm.response.json(); pm.expect(json).to.have.property("userId").that.is.a("string"); } ); - 使用要点:
- 将 token、base_url、userId 等放入 Environment/Collection Variables,便于多环境复用。
- 在 Tests 中尽量保持断言原子化,单个 pm.test 只验证一个明确结论,便于报告阅读与维护。
四 执行与自动化
- 在桌面客户端执行:
- 选择或创建 Collection,在请求中编写 Pre-request Script 与 Tests。
- 点击 Send 发送请求,查看响应与 Tests 结果;使用 Console 查看 console.log 输出。
- 使用 Newman 命令行批量执行与 CI/CD:
- 安装 Newman:npm install -g newman
- 运行集合:
- 基本:newman run /path/to/collection.json
- 指定环境:newman run collection.json -e environment.json
- 适合在 Jenkins/GitHub Actions/GitLab CI 中做自动化回归与定时巡检。
五 调试与最佳实践
- 变量与数据驱动:
- 使用 Environment/Global/Collection Variables 管理不同环境配置;用 Data Files(JSON/CSV) 做数据驱动测试,保持脚本与数据解耦。
- 断言与可维护性:
- 采用 pm.test + pm.expect 的链式断言,断言粒度要小、语义要清晰;必要时拆分多个测试用例。
- 日志与问题定位:
- 合理使用 console.log 输出关键变量与分支走向;在桌面客户端 Console 面板查看输出与错误堆栈。
- 性能与稳定性:
- 对关键接口设置 响应时间阈值 断言;在 Pre-request 中集中处理 Token/签名/时间戳,避免在 Tests 中做耗时操作。
- 持续集成:
- 将 Collection 与 Environment 导出为 JSON,在 CI 中用 Newman 运行并收集结果,结合报告插件生成可视化报告。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中Postman脚本编写与执行技巧
本文地址: https://pptw.com/jishu/752811.html
