第1.5章:通过Postman测试API
学习时间: 50分钟
1. 为什么测试API?发射前检查
想象一下:在火箭发射前,工程师们会进行系统测试启动。如果跳过检查,任务可能会失败!
API测试是您的控制测试:
-
✅ 检查“对接节点”的功能
-
🛡️ 在实际使用前发现漏洞
-
📊 确保数据传输无失真
💡 太空类比: Postman就像一个任务控制中心(ЦУП)的测试控制台,用于模拟所有场景:“如果请求一个不存在的星球数据会怎样?服务器能承受1000次请求/秒吗?”
2. Postman:“API飞行控制中心”
功能:
-
📡 发送任何HTTP请求(GET, POST, PUT, DELETE)
-
🔍 分析响应(状态码、请求头、JSON正文)
-
🧪 编写自动化测试(JavaScript)
-
🌐 使用环境变量(测试环境 vs 生产环境)
3. 首次启动:测试行星API
步骤1:创建请求
-
打开Postman → New → Request
-
输入URL:
https://api.spacexdata.com/v4/rockets
-
选择方法:GET
步骤2:发送“信号”
步骤3:分析遥测数据:
- 状态:200 OK
- 响应正文(JSON):包含参数的火箭列表
[
{
"name": "Falcon 1",
"type": "rocket",
"active": false,
"stages": 2,
"id": "5e9d0d95eda69955f709d1eb"
},
{
"name": "Falcon 9",
"type": "rocket",
"active": true,
"id": "5e9d0d95eda69973a809d1ec"
}
]
4. 结构图:Postman组件
[工作区]
├── “Params”标签页(查询参数)
├── “Headers”标签页(请求头)
├── “Body”标签页(POST/PUT请求体)
├── “Tests”标签页(用于检查的脚本)
└── 响应面板(状态、时间、大小、正文)
5. 创建复杂场景:启动任务
测试:将新行星添加到目录
-
方法:POST
-
URL:
https://jsonplaceholder.typicode.com/posts
(示例) -
在Headers中:
- 在Body中 (raw → JSON):
在Tests中进行自动化检查:
// 检查状态
pm.test("Post created successfully", () => {
pm.response.to.have.status(201);
});
// 检查响应的结构和数据
pm.test("Response contains the new post data", () => {
const response = pm.response.json();
pm.expect(response).to.have.property("id"); // 检查服务器是否分配了ID
pm.expect(response.title).to.eql("New Exoplanet Found");
});
6. 环境变量:地球 vs 火星
如何在不同服务器(测试/生产)上进行测试?
- 创建环境:
Local
→http://localhost:3000
-
Production
→https://api.nasa.gov
-
在请求中使用变量:
⚠️ 重要! 切勿在生产服务器上测试
DELETE
操作!
7. 集合:宇宙任务库
分组请求:
优势:- 🚀 一键运行所有测试
- 📤 导出/导入配置
- 👨🚀 团队协作
8. 自动化:定期卫星检查
通过Postman配置API监控:
-
Schedule → 每2小时
-
测试:
-
发生故障时在Slack/电子邮件中通知
巩固测验
🚀 本章总结: Postman是您进行API测试的通用“控制台”。有了它,您可以: - 在启动前检查“机载系统”的运行情况 - 创建测试场景库 - 自动化宇宙服务的监控
📌 实践任务:
- 安装Postman
- 创建一个到SpaceX API的请求:
GET https://api.spacexdata.com/v4/launches/latest
- 编写一个测试,检查:
- 响应状态为
200
name
字段中包含单词“Falcon”- 响应时间 < 500毫秒
恭喜您完成第1章!
您已经掌握了API的基本操作。在接下来的章节中,我们将构建自己的“宇宙飞船”——一个使用宇宙API的Web应用程序!
🌌 额外资源: