Postman 已从 2013 年一个简单的 REST 客户端发展成为全球超过 4000 万开发者使用的 API 开发协作平台。它覆盖了从设计、调试、测试到文档、监控的 API 全生命周期成为连接前后端团队的“技术契约枢纽”。一、产品概述与核心价值1.1 Postman 是什么Postman 是一个功能强大的 API 开发和测试工具被广泛应用于软件开发的各个阶段。它提供完整的图形化界面让开发者可以轻松构建、发送和分析 HTTP/HTTPS、WebSocket、GraphQL 等协议的请求。1.2 核心能力矩阵能力维度功能模块核心价值API 生命周期管理设计、调试、测试、监控、文档覆盖 API 从开发到上线的全流程多协议支持REST、GraphQL、WebSocket、gRPC适配从简单接口到复杂微服务架构协作能力Workspace、版本控制、团队共享提升团队协作效率自动化测试Collection Runner、Newman、CI/CD 集成实现自动化回归测试和持续集成可观测性Monitor、响应时间分析、SLA 追踪持续跟踪 API 可用性与性能指标企业真实标准给你一套项目接口文档 测试环境能在 1 天内把所有接口录入 Postman、做好环境变量和 token 自动关联、写好断言、批量跑一遍并出报告——达到这个水平完全满足企业接口测试岗位的要求。二、核心功能全景速查功能模块核心能力适用场景关键操作请求构建支持 GET/POST/PUT/DELETE 等所有 HTTP 方法Params / Body / Headers 配置日常接口调试选择方法 → 输入 URL → 配置参数 → 点击 Send环境变量全局、环境、集合、数据、局部 5 级作用域多环境切换dev/staging/prodpm.environment.set(key, value)预请求脚本请求发送前执行的 JavaScript 脚本动态生成签名、OAuth2.0 令牌、时间戳Pre-request Script 选项卡测试断言基于 pm 对象和 Chai 断言库验证状态码、响应体、响应时间Tests 选项卡pm.test(...)集合管理按模块组织请求可批量执行项目管理、回归测试创建 Collection → 添加 Folder → 添加 RequestCollection Runner按顺序批量执行集合中的请求自动化回归测试Runner 窗口 → 选择集合 → RunNewman命令行运行集合CI/CD 集成、无头测试newman run collection.jsonMock Server模拟 API 响应前后端并行开发基于 Collection 创建 MockAPI 文档自动生成交互式文档团队协作、对外发布Collection → Publish DocsMonitor定时监控 API 可用性生产环境健康检查设置监控频率 告警规则数据驱动测试CSV/JSON 文件导入测试数据参数化测试、多用例覆盖Runner → 选择 Data File三、变量体系自动化核心3.1 五级作用域与优先级Postman 的变量系统是其自动化能力的核心骨架优先级遵循就近原则数据变量 环境变量 集合变量 全局变量 内置变量。变量类型作用范围生命周期典型用途脚本 API全局变量 (Global)整个工作空间持续存在不可变的通用常量谨慎使用pm.globals.set/get环境变量 (Environment)当前选中的环境持续存在区分 dev/staging/prod 的 base_url、认证信息pm.environment.set/get集合变量 (Collection)单个集合内持续存在通用秘钥、商品属性等业务通用配置pm.collectionVariables.set/get数据变量 (Data)Runner/Newman 运行时单次迭代外部 CSV/JSON 文件导入的参数化数据pm.iterationData.get局部变量 (Local)单个请求生命周期请求结束即销毁临时计算值、中间变量pm.variables.set/get3.2 使用示例// 环境变量定义 base_url https://api.dev.example.com // 请求 URL 中使用 {{base_url}}/users // 在 Pre-request Script 中动态设置变量 const timestamp new Date().getTime(); pm.environment.set(timestamp, timestamp); // 在 Tests 脚本中提取响应并存入变量 const jsonData pm.response.json(); pm.globals.set(access_token, jsonData.data.token);四、请求生命周期与脚本自动化4.1 请求生命周期4.2 Pre-request Script预请求脚本在请求发送前执行常用于典型应用代码示例动态生成时间戳pm.environment.set(timestamp, Date.now())生成 HMAC-SHA256 签名使用 CryptoJS 库计算签名设置 OAuth2.0 令牌pm.request.headers.add({key: Authorization, value: Bearer token})读取文件注入请求体通过pm.request.body操作4.3 Tests测试断言脚本在收到响应后执行基于pm 对象和Chai 断言库基础断言// 状态码断言 pm.test(状态码为200, function () { pm.response.to.have.status(200); }); // 响应时间断言 pm.test(响应时间小于200ms, function () { pm.expect(pm.response.responseTime).to.be.below(200); }); // 业务码断言 pm.test(业务码为0, function () { const jsonData pm.response.json(); pm.expect(jsonData.code).to.eql(0); }); // 字段存在性断言 pm.test(响应包含user_id, function () { const jsonData pm.response.json(); pm.expect(jsonData.data).to.have.property(user_id); });接口关联JSON 提取器// 登录接口提取 token 并存入全局变量 const jsonData pm.response.json(); pm.globals.set(access_token, jsonData.data.token); pm.globals.set(user_id, jsonData.data.user_id); // 后续接口使用 {{access_token}} 或 {{user_id}}动态参数断言// 创建接口使用动态时间戳作为参数 const times Date.now(); pm.globals.set(times, times); // 断言响应中包含该动态值 pm.test(检查响应中包含标签名, function () { pm.expect(pm.response.text()).to.include(标签名 times); });五、快捷操作速查表5.1 通用操作功能Windows/LinuxmacOS发送请求Ctrl EnterCmd Enter保存请求Ctrl SCmd S打开新标签Ctrl TCmd T关闭标签Ctrl WCmd W切换标签Ctrl TabCtrl Tab格式化 JSONCtrl BCmd B打开设置Ctrl ,Cmd ,打开快捷键帮助Ctrl /Cmd /5.2 请求与响应功能Windows/LinuxmacOS请求 URL 输入框聚焦Ctrl LCmd L发送并下载响应Ctrl Alt EnterCmd Alt Enter跳转到请求区域Ctrl Alt ↑Cmd Alt ↑跳转到响应区域Ctrl Alt ↓Cmd Alt ↓5.3 视图与窗口功能Windows/LinuxmacOS切换侧边栏Ctrl Alt 1Cmd Alt 1切换双窗格视图Ctrl Alt VCmd Alt V新建请求窗口Ctrl NCmd N新建 Runner 窗口Ctrl Shift RCmd Shift R管理环境Ctrl Alt ECmd Alt E界面放大/缩小Ctrl / -Cmd / -如需修改快捷键路径File Settings Keyboard Shortcuts六、Mock Server 与并行开发Postman 的 Mock Server 是前后端并行开发的利器前端可针对模拟接口先行开发后端再实现真实接口。6.1 创建 Mock Server 步骤基于已有 Collection 创建 Mock为每个端点定义示例响应状态码 响应体获取 Mock URL如https://{{mock_id}}.pstmn.io前端针对 Mock URL 进行开发后端实现真实接口后替换base_url环境变量即可无缝切换6.2 Mock 响应模板示例{ request: { method: GET, url: /users/:id }, response: { status: 200, body: {\id\: \{{id}}\, \name\: \Mock User\, \email\: \mockexample.com\} } }七、Newman 与 CI/CD 集成Newman 是 Postman 的命令行工具支持将集合测试集成到 CI/CD 流水线。7.1 基础命令# 安装 Newman npm install -g newman # 运行集合带环境变量 newman run collection.json -e environment.json # 数据驱动测试 newman run collection.json -e environment.json -d data.csv # 生成 HTML 报告 newman run collection.json --reporters html --reporter-html-export ./report.html7.2 GitHub Actions 集成示例- name: Run Postman tests run: | npm install -g newman newman run collection.json --reporters jest --reporter-jest-output ./report.xml八、常见问题与最佳实践8.1 面试必备 5 项核心能力编号能力说明1登录后自动带 Token通过接口关联 变量自动传递2接口间参数传递关联使用 JSON 提取器或正则提取器3会写 Tests 断言状态码、业务码、字段验证4会批量运行Collection Runner 数据驱动5会简单签名/signPre-request Script 动态生成签名8.2 最佳实践建议实践项说明变量命名规范采用env_service_variable格式如dev_auth_token请求添加描述说明接口用途、参数含义、成功/失败场景断言分层基础断言状态码放开头业务断言按优先级排序数据驱动测试通过 CSV/JSON 导入测试数据覆盖正常/异常/边界用例测试用例命名采用模块_功能_状态格式如user_login_success定期导出文档将 API 文档作为接口规范的补充材料建立团队知识库将常见问题整理为 Collection 注释九、功能全景速查表功能模块核心能力适用场景请求构建GET/POST/PUT/DELETE、参数配置、请求头管理日常接口调试环境管理多环境切换、变量级联覆盖跨环境测试预请求脚本动态签名、令牌生成、时间戳构造复杂前置逻辑测试断言状态码/业务码/字段/响应时间验证接口正确性验证集合管理模块化组织、批量执行项目管理和回归测试Collection Runner顺序执行、数据驱动、迭代控制自动化回归测试Newman命令行运行、CI/CD 集成无头测试、持续集成Mock Server模拟 API 响应前后端并行开发API 文档自动生成交互式文档团队协作、对外发布Monitor定时监控、告警通知生产环境健康检查Postman 已从单纯的 API 客户端演变为完整的 API 开发协作平台覆盖了从单个请求调试到自动化测试、Mock、文档、监控的全链路需求。掌握其核心功能意味着能够在现代前后端分离架构与微服务治理体系中高效完成日常接口验证、主导 API 治理体系建设推动组织向标准化、自动化、可观测化的高质量交付范式跃迁。