AI OCR 文字识别完全指南(第1篇)

小飞兽 AI技术 137 次阅读 2026-04-23

概述

Postman 是一款广泛使用的 API 开发与测试工具,它提供了一个直观的图形界面,让开发者能够轻松发送 HTTP 请求、调试接口、编写自动化测试脚本。本文将从基础功能讲起,逐步深入到环境变量、集合管理、Mock Server 以及 Newman 命令行运行等进阶用法,帮助你建立完整的 API 测试工作流。

基础语法

Postman 支持多种 HTTP 方法,包括 GET、POST、PUT、PATCH、DELETE 等。每种方法对应不同的语义:GET 用于获取资源,POST 用于创建资源,PUT 用于完整更新,PATCH 用于部分更新,DELETE 用于删除资源。在 Postman 中,请求的核心由以下几部分组成:

    • URL:接口的完整地址,支持路径参数和查询参数。
    • Method:HTTP 方法,决定了操作类型。
    • Headers:请求头,用于传递认证信息、内容类型等元数据。
    • Body:请求体,JSON、表单或二进制格式的数据。
    • Params:URL 查询参数,自动拼接到 URL 后面。

    在 Authorization 页签中,Postman 提供了 Bearer Token、Basic Auth、OAuth 2.0、API Key 等多种认证方式,选择对应类型并填入凭证即可,无需手动在 Headers 中添加 Authorization 头。

    完整代码示例+注释

    以下示例演示如何在 Postman 中发送一个完整的 POST 请求,并编写测试脚本验证响应:

    // === 请求配置 ===
    // Method: POST
    // URL: https://api.example.com/users
    // Body 类型: raw -> JSON
    

    {
    "name": "张三",
    "email": "zhangsan@example.com",
    "role": "admin"
    }

    // === Headers ===
    // Content-Type: application/json
    // Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...


    在 Tests 页签中编写如下脚本,验证响应状态码和返回数据:


    // 验证 HTTP 状态码为 201(资源创建成功)
    pm.test('状态码应为 201', function() {
    pm.response.to.have.status(201);
    });

    // 验证响应体中包含创建用户的 ID
    pm.test('响应应包含 id 字段', function() {
    var jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property('id');
    pm.expect(jsonData.id).to.be.a('number');
    });

    // 验证返回的用户名与请求一致
    pm.test('返回用户名应一致', function() {
    var jsonData = pm.response.json();
    var requestBody = JSON.parse(pm.request.body.raw);
    pm.expect(jsonData.name).to.eql(requestBody.name);
    });

    // 验证响应时间在 500ms 以内
    pm.test('响应时间应小于 500ms', function() {
    pm.expect(pm.response.responseTime).to.be.below(500);
    });

    // 打印响应内容用于调试
    console.log('响应体:', pm.response.json());
    console.log('响应头:', pm.response.headers);


    运行请求后,在 Test Results 面板可以看到每个断言的通过或失败情况,失败时会显示具体的期望值与实际值对比。

    运行效果

    成功运行后,Postman 底部会展示 Test Results 标签页,每一项测试用例旁边标注绿色勾选(通过)或红色叉号(失败)。在 Console 控制台中可以看到 console.log 输出的调试信息,包括完整的响应体结构和响应头内容。如果接口返回 4xx 或 5xx 错误,Tests 面板会高亮显示哪些断言失败了,同时 Body 面板展示服务器返回的错误信息,方便快速定位问题根因。

    使用 Collection Runner 批量运行一个集合时,Postman 会生成一份汇总报告,展示所有请求的成功率、平均响应时间以及各个测试用例的通过率。报告支持导出为 JSON 格式,便于与 CI/CD 系统集成。

    常见问题

    Q1:发送请求时出现 401 Unauthorized
    这是最常见的认证问题。首先检查 Authorization 页签的认证类型是否与接口要求一致(如 Bearer Token 需要前缀 Bearer),其次确认 Token 是否已过期,可以到相应平台重新获取。如果接口使用自定义签名,还要检查签名算法和密钥是否正确。

    Q2:JSON Body 提交后服务器收到的字段为 null
    确保请求头中 Content-Type 设置为 application/json,且 Body 格式选择了 raw -> JSON 而不是 Text 或其他格式。某些框架(如 Spring)要求实体类必须有对应的Setter方法或无参构造函数。

    Q3:测试脚本中如何引用环境变量
    使用 pm.environment.get("variable_name") 读取变量,使用 pm.environment.set("variable_name", "value") 设置变量。在请求 URL 或 Body 中引用变量时用双花括号包裹,如 {{base_url}}/users。

    Q4:如何在不同请求之间传递数据
    在第一个请求的 Tests 中,使用 pm.collectionVariables.set("token", jsonData.token) 保存变量,在后续请求中通过 {{token}} 或 pm.collectionVariables.get("token") 读取。也可以使用 pm.environment 系列函数管理环境级变量。

    Q5:Postman 同步失灵或团队成员看不到他人集合
    确认团队成员使用的是同一个 Postman 账号并加入了同一 Workspace。在团队版中,检查集合的分享权限设置,确保对方有编辑或查看权限。免费版 Postman 有协作成员数量限制,超出后只能查看不能编辑。

    延伸阅读

    • Newman 命令行工具:配合 CI/CD 使用 Postman 集合,可将测试集成到 Jenkins、GitHub Actions 等流水线中,实现自动化回归测试。
    • Postman Sandbox API:提供了 crypto、buffer、lodash 等 JavaScript 标准库,在测试脚本中可以实现更复杂的断言和流程控制。
  • Mock Server 功能:在后端接口还未完成时,可以用 Postman Mock Server 先行模拟接口响应,前端开发不再受制于后端进度。