Postman是什么

Postman 是全球最流行的 API 调试和测试工具,全球超过 1000 万开发者用它。它提供了直观的图形界面发送 HTTP 请求、查看响应、编写测试脚本、组织 API 文档。新手会用 Postman 调试接口,老手会用它做自动化测试和团队协作。

第一步:安装与登录

访问 postman.com 下载客户端(Windows/Mac/Linux 都支持)。注册免费账号即可使用。Web 版在 web.postman.com 也可使用,但功能不如客户端完整。

第二步:发送第一个请求

  1. 点击 ‘+’ 新建请求
  2. 选择 HTTP 方法(GET/POST/PUT/DELETE)
  3. 输入请求 URL
  4. 设置 Headers(Content-Type、Authorization 等)
  5. 如果有 Body 选择 raw / form-data / x-www-form-urlencoded
  6. 点击 Send,查看响应

第三步:参数化与环境变量

复杂 API 测试需要切换多个环境(开发、测试、生产)使用不同 URL 和密钥:

3.1 创建环境

右上角’环境’下拉 → ‘Manage Environments’ → 新建:

  • 开发环境——baseUrl=http://dev.api.com、token=xxx_dev
  • 测试环境——baseUrl=http://test.api.com、token=xxx_test
  • 生产环境——baseUrl=http://api.com、token=xxx_prod

3.2 在请求中使用

用 {{变量名}} 引用:

  • URL 输入框:{{baseUrl}}/users
  • Headers 字段:Authorization: Bearer {{token}}

切换环境时所有变量自动替换。

第四步:编写测试断言

Tests 标签页可以写测试脚本:

// 状态码必须是 200
pm.test(‘Status code is 200’, function () {
pm.response.to.have.status(200);
});

// 响应必须有 userId 字段
pm.test(‘Response has userId’, function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property(‘userId’);
});

// 响应时间应小于 500ms
pm.test(‘Response time < 500ms', function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});

点 Send 后 Tests 标签页会显示每个断言的通过/失败状态。

第五步:参数化批量测试

测试多种输入组合(不同用户名/密码/参数值)?

  1. 新建 CSV 文件,记录测试数据:
    user,password,expected_status
    alice,pass123,200
    bob,wrongpass,401
    charlie,,400
  2. Collection Runner 中选择文件
  3. 每行数据执行一次请求

适合批量功能测试、性能压测前的快速回归。

第六步:Collection 与自动化

把多个相关请求组织成一个 Collection:

  1. 右键 Collection → ‘Run Collection’
  2. Collection Runner 中依次执行所有请求
  3. 查看每个请求的断言结果
  4. 配置:延迟、并发、循环次数

Collection 也可以通过 Newman(命令行)集成到 CI/CD:

npm install -g newman
newman run my-collection.json

GitHub Actions / Jenkins 中自动跑。

第七步:Mock Server

前端开发时后端接口还没好?用 Mock Server:

  1. 基于 Collection 创建 Mock
  2. Postman 自动返回模拟响应
  3. 前端可以独立开发调试

示例 Mock 响应:

{
userId: 1,
name: ‘Mock User’,
email: ‘mock@example.com’
}

第八步:API 文档自动生成

写好请求和示例后,Postman 自动生成 API 文档:

  1. Collection 右键 → ‘Publish Docs’
  2. 自动生成可分享的网页文档
  3. 支持 Markdown、Swagger 格式
  4. 团队成员可直接在文档页测试

第九步:团队协作

免费版支持:

  • Collection 共享给团队成员
  • 环境变量同步
  • 评论与协作
  • 版本历史

付费版解锁更多团队管理功能。

第十步:高级功能

10.1 Pre-request Script

请求发送前自动执行:

// 自动生成时间戳
pm.environment.set(‘timestamp’, Date.now());

// 自动获取 token
pm.sendRequest({…}, function (err, response) {
pm.environment.set(‘token’, response.json().token);
});

10.2 链式请求

上一个请求的返回值自动作为下一个请求的输入。

10.3 WebSocket / GraphQL 支持

除 REST 外还支持 WebSocket、GraphQL、gRPC 等协议。

常见测试场景

  • 用户登录接口测试——正常/异常/边界场景
  • 电商下单流程——多接口串联测试
  • 性能压测——Collection Runner 大并发
  • Mock 后端联调
  • 回归测试——新功能不影响老接口

效率提升

对比命令行 curl 调试:Postman 让 API 调试效率提升 5 倍。批量测试场景让回归测试时间从几小时降到 10 分钟。新手从单接口测试上手,逐步升级到自动化测试工作流。

替代方案参考

  • Insomnia——轻量开源,类似 Postman
  • Hoppscotch——网页版,免费
  • Bruno——开源,支持 Git 同步
  • Thunder Client——VSCode 扩展,IDE 内调试