CentOS中Postman如何进行数据验证
导读:CentOS中Postman数据验证实操指南 一 前置准备与运行方式 在CentOS上可通过桌面环境直接运行Postman(图形界面)进行手工验证;也可在服务器环境使用Newman执行集合,实现命令行与CI/CD自动化。 桌面方式:下载并...
CentOS中Postman数据验证实操指南
一 前置准备与运行方式
- 在CentOS上可通过桌面环境直接运行Postman(图形界面)进行手工验证;也可在服务器环境使用Newman执行集合,实现命令行与CI/CD自动化。
- 桌面方式:下载并解压Linux 64位包,创建软链后即可启动(示例命令:sudo tar -xzf postman.tar.gz -C /opt & & ln -s /opt/Postman/Postman /usr/bin/postman)。
- 自动化方式:安装Node.js/npm后安装Newman,用命令运行集合并生成报告(示例:newman run collection.json -r html,cli)。
二 在Tests面板编写验证脚本
- 常用断言范式(pm.test + pm.expect 更易读,兼容性好):
- 状态码:pm.test(“Status code is 200”, () => pm.response.to.have.status(200));
- 响应体包含字符串:pm.test(“Body contains keyword”, () => pm.expect(pm.response.text()).to.include(“keyword”));
- 精确匹配响应体:pm.test(“Body equals”, () => pm.response.to.have.body(“exact string”));
- JSON字段值:pm.test(“Value equals”, () => { const json = pm.response.json(); pm.expect(json.key).to.eql(“expected”); } );
- 响应头:pm.test(“Content-Type header”, () => pm.response.to.have.header(“Content-Type”));
- 响应时间:pm.test(“Response time < 200ms”, () => pm.expect(pm.response.responseTime).to.be.below(200));
- 状态码名称或范围:pm.test(“Status is Created”, () => pm.response.to.have.status(“Created”)); pm.test(“POST is 201/202”, () => pm.expect(pm.response.code).to.be.oneOf([201,202]));
- XML响应:先转为JSON再断言,例如 const xml = xml2Json(pm.response.text()); pm.expect(xml.root.key).to.eql(“value”);
- 旧式写法(tests[])与新式写法(pm.test/pm.expect)均可使用,建议统一采用pm.test风格以便阅读与维护。
三 响应解析与数据提取示例
- 解析JSON并校验多层字段与数组长度:
- const data = pm.response.json();
- pm.test(“Code is success”, () => pm.expect(data.code).to.eql(“success”));
- pm.test(“Items count”, () => pm.expect(data.items.length).to.be.at.least(1));
- pm.test(“First item name”, () => pm.expect(data.items[0].name).to.eql(“expected”));
- 响应头与Cookie读取:
- pm.test(“Has Content-Type”, () => pm.response.to.have.header(“Content-Type”));
- const ct = postman.getResponseHeader(“Content-Type”); // 读取具体值
- 关联与提取:将接口A返回的token写入环境变量,供接口B使用
- const json = pm.response.json();
- pm.environment.set(“token”, json.result.token); // 后续请求在Header中使用 { { token} } 引用。
四 数据驱动与Schema校验
- 数据驱动:在Collection Runner中绑定CSV/JSON数据文件,结合环境变量实现多组数据的批量验证(如 { { username} } 、{ { email} } 等)。
- JSON Schema校验(结构/类型验证):
- 示例(使用 tv4):
- const schema = { type: “object”, properties: { id: { type: “number” } , name: { type: “string” } } , required: [“id”,“name”] } ;
- const data = pm.response.json();
- pm.test(“Schema valid”, () => pm.expect(tv4.validate(data, schema)).to.be.true);
- 提示:tv4为社区常用方案,也可选用 ajv 等库进行更严格的模式校验。
- 示例(使用 tv4):
五 运行与报告查看
- 手工运行:在Tests标签查看每个断言的通过/失败结果与错误信息,定位问题更高效。
- 命令行与CI:使用Newman批量运行集合并输出CLI/HTML等报告,便于留存与集成(示例:newman run collection.json -e env.json -r html,cli)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS中Postman如何进行数据验证
本文地址: https://pptw.com/jishu/767551.html
