Ubuntu下Postman的脚本编写技巧有哪些
导读:Ubuntu下Postman脚本编写技巧 一 基础与执行环境 在Ubuntu上可使用Snap安装Postman:sudo snap install postman;或下载官方**.deb包安装:sudo dpkg -i postman-l...
Ubuntu下Postman脚本编写技巧
一 基础与执行环境
- 在Ubuntu上可使用Snap安装Postman:sudo snap install postman;或下载官方**.deb包安装:sudo dpkg -i postman-linux-x64.deb。脚本编写与Windows/macOS一致,差异主要在系统安装方式。进入请求或集合的Pre-request Script与Tests面板即可编写脚本,点击Send执行,结果在Tests面板与Console日志中查看。集合可使用Runner**批量运行,便于回归与数据驱动测试。
二 变量与数据驱动
- 作用域与优先级:从高到低依次为本地变量 >
迭代数据 >
环境变量 >
集合变量 >
全局变量。读取与设置常用API:pm.variables.get/set、pm.environment.get/set、pm.collectionVariables.get/set、pm.globals.get/set、pm.iterationData.get。动态替换可用pm.variables.replaceIn。示例:
- 设置并回写变量
- pm.environment.set(“token”, “abc123”);
- const uid = pm.response.json().id;
- pm.collectionVariables.set(“userId”, uid);
- 在URL/Header中使用:GET { { base_url} } /users/{ { userId} }
- 设置并回写变量
- 数据驱动:在集合运行器中使用CSV/JSON数据文件进行批量参数化;在脚本中用pm.iterationData读取当前行数据,实现不同账号、场景的组合测试。
三 预请求脚本与请求操控
- 动态请求构造:在Pre-request Script中读取变量并写入请求。
- 示例:从环境读取token并注入Header
- const token = pm.environment.get(“token”);
- pm.request.headers.add({ key: “Authorization”, value: "Bearer " + token } );
- 动态查询参数
- const uid = pm.collectionVariables.get(“userId”);
- pm.request.url.query.add({ key: “userId”, value: uid } );
- 示例:从环境读取token并注入Header
- 请求对象常用操作:pm.request.url、pm.request.headers、pm.request.method、pm.request.body;支持增删改查与批量设置,适合构造签名、时间戳、nonce等动态参数。
四 响应断言与结果校验
- 常用断言范式(Tests脚本):
- 状态码:pm.test(“Status is 200”, () => pm.response.to.have.status(200));
- 响应时间:pm.test(“Response < 500ms”, () => pm.expect(pm.response.responseTime).to.be.below(500));
- 响应头:pm.test(“Content-Type is JSON”, () => pm.expect(pm.response.headers.get(“Content-Type”)).to.eql(“application/json”));
- 响应体字段:
- const json = pm.response.json();
- pm.test(“id exists”, () => pm.expect(json).to.have.property(“id”));
- pm.test(“name is Jane”, () => pm.expect(json.name).to.eql(“Jane”));
- JSON Schema校验:在Pre-request中加载校验库(如tv4),在Tests中定义schema并验证复杂结构的一致性与约束。
- 组合断言与可读命名:将多个相关断言放入同一pm.test,便于定位失败点;必要时使用oneOf校验多种成功状态码(如201/202)。
五 工作流控制与自动化集成
- 工作流编排:使用pm.setNextRequest(requestNameOrId)控制集合内执行顺序,支持条件跳转与提前终止(传null停止)。适合编排登录→获取令牌→业务接口→校验的链式流程。
- 异步与辅助请求:在Pre-request或Tests中用pm.sendRequest发起异步请求(如获取动态配置、一次性令牌),在回调中解析并写回变量供后续请求使用。
- 结果可视化:用pm.visualizer.set(template, data)将响应数据渲染为HTML报告,便于非技术人员查看关键结果。
- 命令行与CI/CD:使用Newman在Ubuntu终端运行集合并生成报告,便于集成到Jenkins/GitHub Actions等流水线。
- 示例:newman run collection.json -e environment.json --reporters cli,junit --reporter-junit-export report.xml
- 调试技巧:用console.log输出关键变量与中间结果;在Console面板查看日志与错误堆栈;必要时拆分脚本、逐步验证,减少一次性逻辑复杂度。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下Postman的脚本编写技巧有哪些
本文地址: https://pptw.com/jishu/772545.html
