首页主机资讯CentOS里Postman如何处理响应数据

CentOS里Postman如何处理响应数据

时间2025-12-23 08:54:03发布访客分类主机资讯浏览737
导读:在 CentOS 上使用 Postman 处理响应数据的实用指南 一 查看与格式化响应 在 Postman 中发送请求后,于下方 Response 区域查看状态码、响应时间、响应头和响应体。 响应体为 JSON 时会自动格式化,可点击 P...

在 CentOS 上使用 Postman 处理响应数据的实用指南

一 查看与格式化响应

  • 在 Postman 中发送请求后,于下方 Response 区域查看状态码、响应时间、响应头和响应体。
  • 响应体为 JSON 时会自动格式化,可点击 Pretty 切换为美观排版,便于阅读与定位字段。
  • 非 JSON 场景可直接查看原始文本;若为 HTML,可用正则等方式提取关键信息(见下文示例)。

二 在 Tests 脚本中解析与断言

  • 基本解析与常见断言
    • 解析 JSON:const data = pm.response.json();
    • 状态码:pm.test(“Status is 200”, () => pm.response.to.have.status(200));
    • 响应时间:pm.test(“Response < 200ms”, () => pm.expect(pm.response.responseTime).to.be.below(200));
    • 字符串包含:pm.test(“Body contains keyword”, () => pm.expect(pm.response.text()).to.include(“keyword”));
    • 精确字符串相等:pm.test(“Exact match”, () => pm.response.to.have.body(“expected string”));
    • 旧式写法(兼容):tests[“Status code is 200”] = responseCode.code === 200; (建议优先使用 pm.test)。
  • 结构化响应取值与类型安全
    • 推荐先校验结构再取值,避免运行时错误:
      • const r = pm.response.json();
      • if (r & & r.data & & Array.isArray(r.data.users)) { … }
    • 布尔值比较务必使用严格相等:if (user.isRetail === true) { … } ,避免与字符串 “true”/“false” 混淆。
  • 变量提取与传递
    • 环境变量:pm.environment.set(“token”, data.access_token);
    • 全局变量:pm.globals.set(“token”, data.access_token);
    • 在后续请求中使用 { { token} } 引用。
  • 动态请求串联
    • 根据前一个接口返回的列表发起后续请求并断言:
      • pm.sendRequest(r[0].url, (err, res) => { const u = res.json(); pm.test(‘has email’, () => pm.expect(u.email).to.exist); } );
  • 响应类型适配
    • 纯文本:const txt = pm.response.text();
    • XML 转 JSON:const obj = xml2Json(responseBody); (便于后续取值与断言)。

三 典型场景示例

  • 登录后提取并保存 token
    • 请求登录接口,Tests 中:
      • const r = pm.response.json();
      • pm.environment.set(“access_token”, r.access_token);
    • 其他请求在 Headers 中使用:Authorization: Bearer { { access_token} } 。
  • 从 HTML 中提取 csrf-token
    • Tests 中:
      • const html = pm.response.text();
      • const m = html.match(/name=“csrf-token” content=“([^”]+)"/);
      • if (m) pm.globals.set(“csrf_token”, m[1]); 。
  • 遍历数组并按条件保存 ID
    • 假设结构为 { data: { users: […] } }
      • const r = pm.response.json();
      • if (r?.data?.users?.length) { r.data.users.forEach(u => { if (u.isRetail === true) pm.globals.set(“UserId”, u.id); else if (u.isRetail === false) pm.globals.set(“orgUserId”, u.id); } ); }
  • 响应时间阈值校验
    • pm.test(“Response time OK”, () => pm.expect(pm.response.responseTime).to.be.below(300));
  • 集合批量运行与持续回归
    • 使用 Runner 批量运行 Collection,统一查看 Test Results 报告,适合回归与性能基线校验。

四 排错与最佳实践

  • 优先使用 pm.test/pm.expect 编写可读、可维护的断言;旧式 tests[] 仅作兼容。
  • 访问嵌套字段前务必做结构校验(如 r?.data?.items),避免“Cannot read property … of undefined”。
  • 布尔判断用 === true/false,不要用字符串比较;提取文本或 HTML 时注意编码与转义。
  • 需要跨请求共享数据时,合理使用 环境变量(按环境隔离)与 全局变量(全局唯一),并在请求参数、Header、Body 中用 { { 变量名} } 引用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS里Postman如何处理响应数据
本文地址: https://pptw.com/jishu/778142.html
Filezilla在CentOS上的兼容性问题 CentOS中Postman如何自定义脚本

游客 回复需填写必要信息