Postman 是一个功能强大且广泛使用的 API 平台,专为设计、构建、测试、调试、记录、监控和发布 API 而打造。它最初是一个 Chrome 浏览器插件,后来发展成为一个功能齐全的跨平台桌面应用程序(适用于 Windows, macOS, Linux),现在也提供了基于 Web 的版本。
以下是 Postman 的主要功能和特点介绍:
- API 客户端(核心功能):
- 发送 HTTP 请求: 这是 Postman 最基础也是最核心的功能。你可以轻松创建和发送任何类型的 HTTP 请求(GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS 等)。
- 设置请求细节:
- URL: 输入完整的 API 端点地址。
- 参数: 轻松添加查询参数(Query Parameters)、路径参数(Path Variables)。
- 请求头: 设置自定义的 HTTP 请求头(如 Content-Type, Authorization 等)。
- 请求体: 构建和格式化请求体(支持 JSON, XML, form-data, x-www-form-urlencoded, raw text, binary 等多种格式)。对于 JSON 和 XML,有语法高亮和格式化功能。
- 授权: 支持多种授权机制(API Key, Bearer Token, Basic Auth, OAuth 1.0/2.0, AWS Sig, Hawk Auth, NTLM, Akamai EdgeGrid 等)。
- 预请求脚本: 在发送请求之前执行 JavaScript 脚本(例如,生成动态值、设置环境变量、计算签名)。
- 查看响应: 以格式化的方式(Pretty)查看服务器返回的响应数据(JSON, XML, HTML, Image 等),包括响应头、状态码、响应时间、大小等信息。支持语法高亮和折叠/展开功能。
- API 测试(强大的测试能力):
- 测试脚本: 使用 JavaScript 和 Postman 内置的 pm 对象编写测试脚本,在请求发送后自动验证响应结果。
- 测试断言: 提供丰富的内置断言函数(如 pm.response.to.have.status(200), pm.expect(pm.response.json()).to.have.property('key'))来检查响应状态码、响应头、响应体内容、响应时间等。
- 测试报告: 运行集合(Collection)或文件夹时,生成详细的测试结果报告,清晰显示哪些测试通过、哪些失败。
- 测试自动化: 测试脚本是实现 API 自动化测试的基础。
- 集合(Collections):
- 组织请求: 将相关的 API 请求分组保存到集合中,方便管理和复用。
- 文件夹: 在集合内创建文件夹进行更精细的组织。
- 描述: 为集合、文件夹和单个请求添加描述文档。
- 运行集合: 批量运行集合或文件夹中的所有请求(按顺序或并行),执行关联的测试脚本,并生成汇总报告。这是自动化测试和工作流的关键。
- 数据驱动测试: 使用外部数据文件(如 CSV, JSON)为集合运行提供多组测试数据。
- 环境与全局变量:
- 环境: 定义不同的环境(如 开发、测试、生产),每个环境可以包含一组特定的变量(如 base_url, api_key, user_id)。
- 变量: 在请求的 URL、Headers、Body、Tests 脚本中通过 {{variable_name}} 语法引用变量。切换环境时,变量值自动更新,实现配置与代码分离。
- 全局变量: 定义在所有环境中都可访问的变量。
- API 文档:
- 自动生成: Postman 可以根据你的集合自动生成美观、交互式的 API 文档。
- 实时更新: 当集合定义(请求、参数、描述、示例)更新时,文档会自动同步更新。
- 发布与共享: 方便地将文档发布给内部团队或外部开发者。
- Mock Servers:
- 模拟后端: 根据集合定义快速创建模拟 API 服务器。
- 前端并行开发: 当后端 API 尚未开发完成时,前端开发者可以使用 Mock Server 返回预定义的响应数据进行开发和测试。
- 依赖解耦: 测试依赖于其他 API 的服务时,可以模拟那些依赖 API 的行为。
- 监控:
- 定时运行: 设置定时任务,定期运行集合(如每小时、每天)。
- API 健康检查: 监控 API 的可用性、性能和正确性。
- 告警: 当监控运行失败(如测试不通过、请求超时)时,通过邮件或其他集成发送告警通知。
- 协作与团队工作:
- 工作区: 创建个人、团队或公共工作区,集中管理 API 资产(集合、环境、文档、Mock 服务器、监控器等)。
- 共享: 轻松在团队成员之间共享集合、环境、文档等。
- 版本控制: 跟踪集合的更改历史,支持分支和合并(类似 Git)。
- 角色与权限: 为团队成员分配不同的角色和权限,控制对工作区内容的访问和操作级别。
- 集成:
- CI/CD 集成: 通过 Newman(Postman 的命令行运行器)轻松集成到 Jenkins, Travis CI, GitLab CI, GitHub Actions 等持续集成/持续部署管道中。
- 其他工具: 支持与版本控制系统(GitHub, GitLab, Bitbucket)、API 网关、监控工具等的集成。
总结 Postman 的核心价值:
- 提高效率: 提供直观的界面,简化了 API 交互、测试和调试过程。
- 确保质量: 强大的测试框架和自动化能力保障 API 的可靠性和正确性。
- 促进协作: 团队工作区、共享和文档功能让 API 开发团队紧密协作。
- 支持全生命周期: 覆盖了 API 设计、开发、测试、文档、模拟、监控和发布的整个生命周期。
- 降低门槛: 无论是开发人员、测试人员还是产品经理,都能方便地使用和参与 API 相关工作。
目标用户:
- 后端开发人员(构建和测试 API)
- 前端开发人员(调用 API,使用 Mock Server)
- 测试工程师/QA(自动化 API 测试)
- DevOps 工程师(集成到 CI/CD)
- 产品经理/技术文档工程师(查看文档、理解 API 功能)
- 任何需要与 API 交互的人员
版本:
- 免费版: 提供核心功能(请求、集合、环境、基本测试、文档、Mock Server、监控等),足够个人和小团队使用,但有协作人数和调用次数限制。
- 付费版: 提供更高级的协作功能(更大的团队规模、更精细的权限控制)、更强大的 API 监控、高级集成、专属支持等。
官网: https://www.postman.com/ (提供下载桌面版和访问 Web 版,中文支持良好)
简单来说,Postman 是管理和使用 API 的瑞士军刀,是现代 API 开发和协作不可或缺的工具之一。