Postman新手教程:从安装到API测试
Postman 新手教程:从安装到 API 测试
引言
在当今的软件开发领域,API(应用程序接口)扮演着至关重要的角色。它们是不同软件系统之间进行通信和数据交换的桥梁。无论是构建 Web 应用、移动应用还是桌面应用,都离不开与 API 的交互。因此,对于开发者来说,掌握一款强大的 API 测试工具至关重要。
Postman 正是这样一款工具,它以其直观的用户界面、丰富的功能和强大的社区支持,成为了 API 开发和测试领域的行业标准。本教程将带领你从零开始,逐步掌握 Postman 的核心功能,让你能够轻松地进行 API 测试和开发。
第一部分:Postman 安装与界面介绍
1. 下载与安装
Postman 支持多种操作系统,包括 Windows、macOS 和 Linux。你可以从 Postman 官网(https://www.postman.com/downloads/)下载对应平台的安装包。
- Windows: 下载
.exe
安装程序,双击运行并按照提示完成安装。 - macOS: 下载
.dmg
安装包,双击打开并将 Postman 应用图标拖动到“应用程序”文件夹中。 - Linux: 下载
.tar.gz
压缩包,解压后运行其中的Postman
可执行文件。
安装完成后,你可以选择创建一个 Postman 账号(推荐)或以访客身份使用。创建账号可以同步你的工作区、集合、环境等数据,方便在不同设备上使用。
2. 界面概览
Postman 的界面简洁明了,主要分为以下几个区域:
- 标题栏 (Header): 包含新建按钮(+)、导入、Runner、打开新窗口、工作区切换、同步状态、设置等功能。
-
侧边栏 (Sidebar):
- 历史 (History): 记录你发送过的所有请求。
- 集合 (Collections): 用于组织和管理你的 API 请求,可以将相关的请求分组到同一个集合中。
- API: 用于设计和构建 API(更高级的功能)。
- 环境 (Environments): 用于管理不同环境下的变量,例如开发环境、测试环境和生产环境。
- 模拟服务器 (Mock Servers): 模拟 API 行为,方便在 API 未开发完成时进行测试。
- 监视器 (Monitors): 定时运行集合,监控 API 的健康状态和性能。
- 流 (Flows): 可视化地编排 API 请求(更高级的功能)。
-
构建器 (Builder): 主要工作区域, 用于构建和发送 API 请求.
- 请求标签页: 每一个打开的请求都是一个标签页.
- 请求方法 (Request Method): 选择请求类型,如 GET、POST、PUT、DELETE 等。
- 请求 URL (Request URL): 输入 API 的地址。
- 参数 (Params): 添加查询参数(Query Params)。
- 授权 (Authorization): 设置 API 认证信息,如 API Key、Basic Auth、OAuth 2.0 等。
- 头部 (Headers): 添加自定义的请求头。
- 请求体 (Body): 发送请求的数据,如 JSON、form-data、raw 等。
- 预请求脚本 (Pre-request Script): 在请求发送前执行的 JavaScript 代码,可用于动态生成参数、设置变量等。
- 测试 (Tests): 在请求发送后执行的 JavaScript 代码,用于验证响应结果是否符合预期。
- 响应区域 (Response):
- 状态码 (Status Code): 显示 API 响应的状态码,如 200 OK、404 Not Found 等。
- 响应时间 (Time): 显示 API 响应的时间。
- 响应大小 (Size): 显示 API 响应的大小。
- 响应体 (Body): 显示 API 响应的数据,可以以 Pretty、Raw、Preview 等格式查看。
- Cookie (Cookies): 显示 API 返回的 Cookie。
- 头部 (Headers): 显示 API 响应的头部信息。
- 测试结果 (Test Results): 显示测试脚本的执行结果。
第二部分:发送你的第一个 API 请求
让我们从一个简单的 GET 请求开始,体验 Postman 的基本用法。我们将使用一个公开的 API:https://jsonplaceholder.typicode.com/todos/1
,它会返回一个 JSON 格式的待办事项数据。
- 在构建器中,确保请求方法选择的是 GET。
- 在请求 URL 栏中输入
https://jsonplaceholder.typicode.com/todos/1
。 - 点击 Send 按钮。
几秒钟后,你将在响应区域看到 API 返回的数据:
json
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
恭喜你,你已经成功发送了第一个 API 请求!
第三部分:理解请求的各个组成部分
现在,让我们深入了解 API 请求的各个组成部分,以及如何在 Postman 中进行配置。
1. 请求方法 (Request Method)
请求方法定义了对 API 资源执行的操作类型。常见的请求方法包括:
- GET: 获取资源。
- POST: 创建新资源。
- PUT: 更新现有资源(完全替换)。
- PATCH: 更新现有资源(部分更新)。
- DELETE: 删除资源。
- HEAD: 类似于GET, 但只返回头部, 没有body.
- 还有 OPTIONS, TRACE, CONNECT 等不常用的方法.
在 Postman 中,你可以通过下拉菜单选择请求方法。
2. 请求 URL (Request URL)
请求 URL 是 API 的地址,它指定了要访问的资源。URL 通常由以下几部分组成:
- 协议 (Protocol):
http
或https
。 - 域名 (Domain): 例如
jsonplaceholder.typicode.com
。 - 路径 (Path): 例如
/todos/1
。 - 查询参数 (Query Parameters): 用
?
开头,多个参数之间用&
分隔,例如?userId=1&completed=false
。
在 Postman 中,你可以在 URL 栏中直接输入 URL,也可以在 Params 标签页中添加查询参数。
3. 参数 (Params)
参数用于向 API 传递额外的信息。参数有两种主要类型:
- 查询参数 (Query Parameters): 附加在 URL 后面,用于过滤、排序或分页数据。
- 路径参数 (Path Parameters): URL 路径的一部分,用于标识特定的资源,例如
/todos/{id}
中的{id}
。
在 Postman 中,路径参数通常直接写在 URL 中,查询参数可以在 Params 标签页中添加。
4. 授权 (Authorization)
许多 API 需要进行身份验证才能访问。常见的认证方式包括:
- API Key: 将 API Key 作为请求头或查询参数发送。
- Basic Auth: 将用户名和密码进行 Base64 编码后发送。
- OAuth 2.0: 一种更安全的授权协议,通过授权服务器获取访问令牌。
- Bearer Token: 在头部中加入
Authorization: Bearer <token>
在 Postman 中,你可以在 Authorization 标签页中选择认证类型并填写相关信息。
5. 头部 (Headers)
请求头包含关于请求的元数据,例如内容类型、用户代理等。常见的请求头包括:
- Content-Type: 指定请求体的数据类型,例如
application/json
、application/x-www-form-urlencoded
。 - Accept: 指定客户端期望接收的数据类型。
- User-Agent: 标识客户端的类型和版本。
- Authorization: 用于携带认证信息 (例如 Bearer Token).
在 Postman 中,你可以在 Headers 标签页中添加自定义的请求头。
6. 请求体 (Body)
请求体用于发送数据给 API,通常用于 POST、PUT 和 PATCH 请求。常见的数据格式包括:
- none: 没有请求体。
- form-data: 用于模拟表单提交,可以上传文件。
- x-www-form-urlencoded: 将数据编码为键值对,类似于 URL 查询参数。
- raw: 发送原始数据,可以是任意文本格式,例如 JSON、XML、HTML 等。
- binary: 发送二进制数据,例如图片、视频等。
- GraphQL: 用于 GraphQL API 的查询。
在 Postman 中,你可以在 Body 标签页中选择数据类型并填写数据。
第四部分:使用集合 (Collections) 组织请求
当你的 API 请求越来越多时,使用集合来组织它们变得非常重要。集合可以将相关的请求分组到一起,方便管理和复用。
1. 创建集合
在侧边栏中,点击 Collections 旁边的加号 (+) 按钮,输入集合名称并创建。
2. 添加请求到集合
- 在构建器中发送请求后,点击 Save 按钮,选择要保存到的集合。
- 在侧边栏中,右键点击集合,选择 Add Request,然后填写请求信息。
3. 组织集合
你可以在集合中创建文件夹,进一步组织你的请求。例如,你可以按照 API 的功能模块或版本来创建文件夹。
4. 集合的导出与导入
你可以将集合导出为 JSON 文件,方便与他人共享或备份。也可以导入其他人分享的集合。
第五部分:使用环境 (Environments) 管理变量
在不同的环境下,API 的 URL、认证信息等可能会有所不同。使用环境可以方便地管理这些变量,避免在多个请求中重复填写。
1. 创建环境
在侧边栏中,点击 Environments 旁边的眼睛图标,然后点击加号 (+) 按钮,输入环境名称并创建。
2. 添加变量
在环境中,你可以添加多个变量,例如 baseUrl
、apiKey
等。
3. 使用变量
在请求的 URL、头部、请求体等地方,可以使用双花括号 {{variableName}}
来引用变量。例如,{{baseUrl}}/todos/1
。
4. 切换环境
在 Postman 界面的右上角,可以选择当前使用的环境。
第六部分:编写测试 (Tests) 脚本
Postman 的测试功能允许你编写 JavaScript 代码来验证 API 响应是否符合预期。
1. 测试脚本的结构
测试脚本通常包含在 Tests 标签页中。Postman 提供了一个名为 pm
的全局对象,它包含许多用于编写测试的函数和属性。
```javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response body contains userId", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.userId).to.eql(1);
});
```
pm.test(testName, function)
: 定义一个测试,testName
是测试的名称,function
是测试的执行体。pm.response
: 表示 API 的响应。pm.response.to.have.status(statusCode)
: 断言响应状态码是否等于statusCode
。pm.response.json()
: 将响应体解析为 JSON 对象。pm.expect(value).to.eql(expectedValue)
: 断言value
是否等于expectedValue
。
2. 常用断言
Postman 提供了许多内置的断言函数,例如:
pm.response.to.have.status(code)
: 检查状态码。pm.response.to.have.header(headerName)
: 检查响应头是否存在。pm.response.to.have.header(headerName, headerValue)
: 检查响应头的值。pm.response.to.have.body(string)
: 检查响应体是否包含指定的字符串。pm.response.to.have.jsonBody(path, value)
:检查JSON响应中指定路径的值.pm.response.to.have.responseTime(milliseconds)
: 检查响应时间是否小于指定毫秒数。pm.expect(value).to.eql(expectedValue)
: 通用断言,检查两个值是否相等。pm.expect(value).to.be.a(type)
: 检查值的类型,例如pm.expect(value).to.be.a('string')
。pm.expect(value).to.have.lengthOf(length)
: 检查数组或字符串的长度。- 还有很多其他的断言方法,可以在Postman文档中查看.
3. 使用变量
测试脚本中也可以使用环境变量和全局变量。例如:
javascript
pm.test("User ID matches environment variable", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.userId).to.eql(pm.environment.get("userId"));
});
还可以通过pm.environment.set("variable_key", "value")
和pm.globals.set("variable_key", "value")
来设置环境变量和全局变量.
第七部分:使用 Runner 批量运行集合
Postman 的 Runner 功能允许你批量运行集合中的请求,并查看测试结果。
1. 打开 Runner
点击 Postman 界面顶部的 Runner 按钮。
2. 选择集合和环境
在 Runner 窗口中,选择要运行的集合和环境。
3. 配置运行参数
你可以配置迭代次数、延迟时间等参数。
4. 运行集合
点击 Start Run 按钮,Runner 将按照顺序运行集合中的请求,并显示每个请求的测试结果。
第八部分:Postman 的其他高级功能
除了上面介绍的核心功能外,Postman 还有许多高级功能,可以帮助你更高效地进行 API 开发和测试。
- Mock Servers (模拟服务器): 模拟 API 行为,方便在 API 未开发完成时进行测试。
- Monitors (监视器): 定时运行集合,监控 API 的健康状态和性能。
- API Documentation (API 文档): 根据集合自动生成 API 文档。
- Workspaces (工作区): 与团队成员协作,共享集合、环境等资源。
- Postman API: 通过 Postman API 访问你的数据,实现自动化。
- Flows: 可视化的API工作流构建工具.
总结
本教程详细介绍了 Postman 的安装、界面、基本用法和高级功能。通过学习本教程,你应该已经掌握了使用 Postman 进行 API 测试和开发的基本技能。Postman 是一个功能强大且易于使用的工具,希望你能充分利用它,提高你的 API 开发和测试效率。 记得多加练习,熟能生巧。并持续关注Postman的官方文档,了解最新的功能和最佳实践。