Postman相关问题及答案(2024)

news/2024/4/13 11:32:10/文章来源:https://blog.csdn.net/qq_43012298/article/details/135820319

1、Postman 是什么?它的用途是什么?

Postman 是一个流行的 API (应用程序编程接口) 开发辅助工具,它帮助开发者设计、测试、文档化和监控 APIs。Postman 提供了一个友好的用户界面,使得发送网络请求、检查响应和其他与 API 交互的相关操作变得更加容易。它最初被发布为一个 Chrome 浏览器扩展,但现在已经发展成为一个独立的跨平台应用程序。

Postman 的主要用途包括:

  1. API 测试:Postman 允许你执行各种 HTTP 请求(GET、POST、PUT、DELETE 等),以测试和验证你的 API 的行为。这包括查看响应状态码、响应时间、头信息和响应体。

  2. 创建和保存 API 请求:你可以将请求保存到集合中,以便重用和分享。这对于复杂的请求或需要多次执行的请求特别有用。

  3. 环境管理:Postman 允许你创建不同的环境,这意味着你可以有不同的服务器地址、认证令牌等,使得在开发、测试和生产环境之间切换变得简单。

  4. 自动化测试:通过编写测试脚本,Postman 可以自动验证请求的响应。例如,你可以检查响应体中的某个值,或确认响应状态码符合预期。

  5. 集成测试:Postman 的集合运行器允许你运行一系列请求,这对于模拟复杂工作流或进行集成测试非常有用。

  6. Mock 服务和模拟 API 响应:如果后端还没有准备好,你可以使用 Postman 的 Mock 服务来模拟后端 API,以便前端或测试人员可以继续工作。

  7. API 文档:Postman 可以自动生成美观的 API 文档,这些文档可以公开共享或作为团队内部文档使用。

  8. 监控:Postman 监控允许你设置定时运行的集合,以检查 API 的健康状况和性能。

  9. CI/CD 集成:Postman 可以集成到持续集成/持续部署(CI/CD)管道,这样就可以在软件部署过程中自动运行 API 测试。

Postman 的深入特性包括:

  • 脚本和变量:在请求和测试中使用变量和脚本可以大大提高测试工作的灵活性和动态性。Postman 提供了内置的脚本编辑器和一个强大的运行时库(Postman Sandbox),可以让你编写复杂的逻辑。

  • 请求链:你可以使用 Postman 的脚本功能来提取响应中的数据并在后续请求中使用这些数据,这样可以创建一个请求链。

  • 安全性:Postman 提供了多种认证机制,包括OAuth 1.0、OAuth 2.0、Bearer Token、Basic Auth等,以及SSL客户端证书等高级认证方法。

  • 版本控制:Postman 集成了 API 版本控制,有助于管理 API 的不同版本。

通过上述功能,Postman 成为了API开发者的有力工具,它不仅节省了开发者的时间和精力,而且有助于提高 API 的质量和可靠性。无论是单个开发者还是跨职能团队,Postman 都提供了一个共同的平台来开发和测试 API,从而确保所有团队成员都能够高效协作。

2、什么是环境变量?在 Postman 中如何使用它们?

环境变量是在不同开发环境下用于存储和管理变化值(如 URLs、认证凭据等)的变量。在软件开发中,使用环境变量可以使得应用程序或接口更加灵活,方便地在开发、测试、生产等不同环境之间切换配置而无需更改代码。在 Postman 中,环境变量以键值对的形式存在。

在 Postman 中使用环境变量:

  1. 创建环境

    • 在 Postman 的界面上,点击左侧的“环境”标签旁的眼睛图标。
    • 点击“Add”来创建一个新环境。
    • 命名你的环境(例如,“开发”、“测试”、“生产”)。
  2. 添加变量

    • 在创建的环境中,你可以添加变量,比如 base_url, api_key, user_id 等。
    • 给这些变量指定对应的初始值(Current Value)和持久值(Initial Value)。初始值用于共享和同步到 Postman 的团队库,而当前值是本地使用的值。
  3. 使用变量

    • 在编写请求时,使用双花括号来引用环境变量,如 {{base_url}}
    • 当发送请求时,Postman 会自动将其替换为当前选定环境中对应的值。
  4. 切换环境

    • 在发送请求前,确保从环境下拉列表中选定正确的环境。
    • 当你切换环境时,Postman 会替换环境变量的值,使得相同的请求可以在不同的环境中使用不同的配置。

示例代码:

假设你有一个 API 服务,其在开发和生产环境中有不同的基础 URL。你可以设置两个环境:

  • 开发环境

    • base_url: http://dev.example.com/api
    • api_key: some_dev_api_key
  • 生产环境

    • base_url: http://prod.example.com/api
    • api_key: some_prod_api_key

在 Postman 中发送请求时,你不需要写死完整的 URL 或 API 密钥,而是这样使用这些环境变量:

GET {{base_url}}/users/{{user_id}}
Headers:
Authorization: Bearer {{api_key}}

当你从开发环境切换到生产环境时,只需要在 Postman 的环境下拉菜单中选择对应的环境,Postman 就会使用那个环境的 base_urlapi_key 替换 {{base_url}}{{api_key}}

这种方式使得 API 的测试更加灵活和可维护,因为你不需要为了测试不同环境的 API 而修改每个请求。使用环境变量,你可以轻松地通过选择不同的环境来指向不同的服务端点。

3、Postman 集合是什么,以及如何使用它

Postman 集合是一组预定义的 API 请求,它们可以被组织、运行和共享为一个单一实体。集合可以包含请求、测试脚本以及变量,这使得它们成为管理和结构化 API 调用的有效方式。

使用 Postman 集合的主要目的:

  1. 组织 API 请求:将相关的请求按逻辑分组在一起,例如,一个集合可以包含所有用户认证相关的请求。

  2. 共享和协作:集合可以被导出或共享给团队成员,便于协作。

  3. 测试套件:通过为集合中的请求添加测试,可以创建测试套件进行自动化测试。

  4. 文档化:Postman 集合可以自动生成文档,便于开发者和利益相关者理解 API 的使用方式。

  5. 持续集成:集合可以通过 Postman API 或 Newman 集成到 CI/CD 流程中。

创建和使用 Postman 集合的步骤:

  1. 创建新集合

    • 在 Postman 应用中,点击左侧边栏的“New”按钮,然后选择“Collection”。
    • 给集合命名,并可以提供描述。
  2. 添加请求到集合

    • 在集合内部,你可以开始添加请求。每个请求可以设置它的 HTTP 方法(GET, POST, etc.)、URL、头部、请求体和测试脚本。
    • 例如,你可以添加一个获取用户信息的 GET 请求。
  3. 编写测试

    • 对于集合中的每个请求,你可以编写测试脚本来验证响应。Postman 提供了一个丰富的脚本编写环境和预先定义的代码片段。
  4. 运行集合

    • 使用内置的 Collection Runner 或 Newman 命令行工具来运行整个集合。
    • Collection Runner 允许你定义迭代次数、设置延迟等。
  5. 分析结果

    • 运行完集合后,你可以分析测试结果,检查哪些请求通过了测试,哪些失败了。

示例代码:

假设我们想要创建一个简单的集合来管理一个博客的文章 API。集合名为“Blog API”,包含以下请求:

  1. 获取所有文章

    • 方法:GET
    • URL:{{base_url}}/articles
    • 测试脚本:验证返回状态码为 200,并且响应体是一个数组。
  2. 创建新文章

    • 方法:POST
    • URL:{{base_url}}/articles
    • 请求体:
      {"title": "My New Article","content": "Content of the article.","author": "Author Name"
      }
      
    • 测试脚本:验证返回状态码为 201,即资源创建成功。
  3. 获取特定文章

    • 方法:GET
    • URL:{{base_url}}/articles/{{article_id}}
    • 测试脚本:验证返回状态码为 200,检查响应中是否包含特定字段。

在 Postman 中,这些请求将像下面这样编写为一系列 API 调用,每个调用都可以包含测试脚本:

pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});pm.test("Response must be an array", function () {var jsonData = pm.response.json();pm.expect(jsonData).to.be.an('array');
});

在这个集合中,你可以设置环境变量 base_url 来适应不同的环境(如开发、测试、生产等)。你还可以为 article_id 变量设置具体的值,以用来获取特定文章。

通过组织这些请求到集合中并添加相关的环境变量和测试脚本,你可以构建一个包含完整业务逻辑的 API 测试套件,这个套件可以自动运行并验证 API 的功能。使用集合的好处是,你可以轻松地分享整个 API 测试流程给你的团队成员,或者通过 Postman API 集成到自动化的构建/部署流程中。

4、如何在 Postman 中进行自动化测试?

在 Postman 中进行自动化测试通常涉及以下步骤:

  1. 准备 API 请求:首先,你需要创建或导入 API 请求,并将它们组织成集合。

  2. 编写测试脚本:在每个请求的“Tests”标签中,为请求响应编写 JavaScript 脚本,使用 Postman 提供的测试框架来断言预期的结果。

  3. 使用变量和环境:设置环境变量来保持请求的灵活性并能够在不同环境之间移植。

  4. 使用集合运行器:运行整个集合中的请求,并查看测试结果。

  5. 使用新曼(Newman):通过命令行工具 Newman,将 Postman 集合集成到你的持续集成/持续部署(CI/CD)流程中。

编写测试脚本

假设你想要测试一个返回用户列表的 API 端点。你需要验证以下几点:

  • 返回的状态码是 200。
  • 响应时间小于 500 毫秒。
  • 返回的是一个 JSON 对象。
  • JSON 对象中含有一个名为 users 的数组,且该数组不为空。

首先,创建一个 GET 请求指向你的 API 端点,比如 {{base_url}}/users

然后,在该请求的“Tests”标签中编写以下测试脚本:

pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});pm.test("Response time is less than 500ms", function () {pm.expect(pm.response.responseTime).to.be.below(500);
});pm.test("Response is in JSON format", function () {pm.response.to.be.json;
});pm.test("Users array is not empty", function () {let jsonData = pm.response.json();pm.expect(jsonData.users).to.be.an('array').that.is.not.empty;
});

使用集合运行器运行测试

  1. 在 Postman 的左侧边栏中,找到你的集合。

  2. 点击集合旁边的“运行”按钮。

  3. 集合运行器窗口将会打开。你可以选择运行的迭代次数、延迟等参数。

  4. 点击“Run [Collection Name]”开始测试。

  5. 集合运行器将执行集合中的所有请求并显示测试结果。你可以查看哪些测试通过了,哪些失败了。

使用新曼(Newman)进行自动化测试

如果你想将 Postman 集合的运行自动化,比如在一个 CI/CD 管道中,可以使用 Newman。

  1. 首先,你需要安装 Newman:
npm install -g newman
  1. 然后,你可以在命令行中使用 Newman 来运行集合:
newman run path/to/your/collection.json
  1. 你也可以传递环境文件或指定其他选项,比如报告格式:
newman run collection.json -e environment.json --reporters cli,junit

Newman 运行集合后,会输出测试结果,你可以看到测试的成功与失败。你还可以生成不同格式的报告,以便更好地集成到其他工具和流程中。

通过使用这些工具和方法,Postman 允许开发者和测试人员创建可重复、可维护的自动化 API 测试流程。这些自动化测试可以手动执行,也可以集成到更复杂的自动化系统中,以确保 API 在持续开发过程中的质量和稳定性。

5、Postman 中的预请求脚本是什么?

在 Postman 中,预请求脚本(Pre-request Script)是在实际 HTTP 请求被发送之前执行的一段 JavaScript 代码。这些脚本通常用于设置变量的值、添加参数、修改请求头、以及进行其他需要在请求发出之前完成的操作。

一些常见的预请求脚本的用途包括:

  • 动态更新请求参数
  • 从响应中获取数据并在之后的请求中使用
  • 动态生成和设置令牌和其他认证信息
  • 数据参数化以用于请求
  • 执行复杂的逻辑来决定发送哪些请求

示例代码:

假设你有一个 API 需要一个动态生成的访问令牌。该令牌需要在每个请求发出前刷新,以确保令牌是有效的。以下是一个预请求脚本的示例,它会在发送请求前生成一个新的访问令牌并将其设置为环境变量:

// 假设获取新令牌的函数如下
function generateAccessToken() {var token = ''; // 生成或获取新的访问令牌的逻辑// 这里仅作为生成令牌的示例token = 'somerandomtoken' + new Date().getTime();return token;
}// 调用函数获取新的令牌
var newToken = generateAccessToken();// 设置环境变量,这样它可以在后续请求的Authorization头中使用
pm.environment.set("accessToken", newToken);

在上述脚本中,generateAccessToken 函数代表了生成访问令牌的逻辑。在实际应用中,你可能需要向认证服务器发送一个请求来获取这个令牌。

预请求脚本可以使用 Postman 提供的全局函数和变量,比如 pm 对象,以便设置环境或全局变量。在上面的例子中,pm.environment.set 函数用于将新生成的令牌设置为名为 accessToken 的环境变量。

这样配置之后,你的请求中就可以使用这个新令牌了。在请求头中设置Authorization头如下:

Authorization: Bearer {{accessToken}}

当你运行这个请求时,预请求脚本首先会执行,生成一个新的访问令牌,并将其保存在环境变量 accessToken 中。随后,当请求被发送时,Postman 会使用最新的 accessToken 环境变量的值来替换请求头中的 {{accessToken}} 占位符。

通过这种方式,预请求脚本为自动化过程提供了极大的灵活性,允许你确保每个请求都是使用最新和有效的数据发送的。

6、如何导出和导入 Postman 数据?

在 Postman 中,可以导出和导入数据以便于备份、分享或迁移。数据可以包括集合、环境、全局变量、API 定义等。以下是导出和导入数据的步骤:

导出数据:

  1. 导出集合

    • 打开 Postman。
    • 在左侧的侧边栏中找到你想要导出的集合。
    • 点击集合右侧的三个点(…)来打开选项菜单。
    • 选择“Export”。
    • 选择你要导出的版本格式(建议使用最新的,如 v2.1)。
    • 点击“Export”并选择保存文件的位置。
  2. 导出环境

    • 点击左侧的环境选项卡下拉箭头,找到你想要导出的环境。
    • 点击环境旁边的三个点(…)并选择“Export”。
    • 选择保存位置并保存 .environment.json 文件。
  3. 导出全局变量

    • 点击左上角的齿轮图标来打开设置。
    • 选择“Data”标签。
    • 点击“Export Global Variables”。
    • 保存 .globals.json 文件。
  4. 导出API定义

    • 在左侧导航栏中,选择你的 API。
    • 点击“Export API”并选择版本。
    • 点击“Export”并保存 .json 文件。

导入数据:

  1. 导入集合/环境/全局变量/API
    • 打开 Postman。
    • 点击左上角的“Import”按钮。
    • 你可以选择文件、文件夹、链接或粘贴文本。最常见的是选择“File”然后上传你之前导出的 .json 文件。
    • 选择文件后,Postman 会预览你将要导入的内容。
    • 确认无误后,点击“Import”完成导入。

示例:

导出示例:

比如,你要导出名为 “My API Collection” 的集合:

  1. 找到集合 “My API Collection”。
  2. 点击它旁边的三个点按钮(…)。
  3. 选择“Export”。
  4. 选择版本(如 v2.1)并点击“Export”。
  5. 在弹出的文件保存对话框中选择位置,例如保存为 My_API_Collection.json
导入示例:

例如,你想要导入一个名为 My_API_Collection.json 的集合文件:

  1. 点击 Postman 主工具条上的“Import”按钮。
  2. 在打开的导入窗口中,你可以拖拽文件、选择文件进行上传,或复制粘贴原始文本。
  3. 选择“File”选项卡,点击“Upload Files”或直接拖拽 My_API_Collection.json 文件到窗口中。
  4. Postman 将会显示文件内容的预览。
  5. 确认信息无误后,点击“Import”。

导入和导出功能使得在不同的工作环境之间共享或迁移 Postman 数据变得非常简便。团队成员可以快速地分享自己的工作,或将设置从一个工作环境迁移到另一个工作环境。

7、在 Postman 中是如何管理 API 文档的

在 Postman 中管理 API 文档,通常涉及创建和维护API请求集合以及为这些集合编写文档说明。Postman 提供了便捷的方式来为API集合及其内的请求添加说明和备注,这些文档可以被团队成员共享和查看,也可以被发布为Web页面供外部用户访问。

以下是如何在Postman中管理API文档的步骤:

创建API集合和文档

  1. 创建集合

    • 打开Postman。
    • 点击左侧的“Collections”选项卡下的“Create Collection”按钮。
    • 在弹出窗口中填写集合名称,例如“User API”。
    • 你可以在右侧的“Description”区域使用Markdown语法编写详细的文档说明。
  2. 添加请求到集合

    • 在创建好的集合中,点击“Add Request”。
    • 填写请求名称,例如“Get User List”。
    • 输入API的HTTP方法和URL,如GET请求到https://api.example.com/users
    • 你也可以在请求的“Description”区域添加请求的文档说明,包括请求参数、请求示例、响应示例等。

编辑和维护文档

  1. 编辑请求的描述

    • 选择一个请求,点击“Description”选项卡。
    • 使用Markdown语法添加和编辑描述,你可以描述请求的功能、使用场景、参数说明等。
  2. 编辑整个集合的文档

    • 点击集合名旁边的“…”,选择“Edit”。
    • 在“Edit Collection”窗口的“Description”区域,添加或编辑整个集合的说明。

发布和共享文档

  1. 发布文档

    • 点击集合旁边的“View more actions”(三个点),选择“Publish Docs”。
    • 选择发布的版本和环境,配置文档设置。
    • 预览文档,并点击“Publish Collection”分享给团队成员或者公开访问。
  2. 共享集合

    • 点击集合名称旁的“Share”按钮。
    • 选择要共享的团队或者个人。
    • 设置共享权限,然后点击“Share Collection”。

示例

假设你有一个API,它的功能是获取用户列表。你可以这样在Postman中为其创建文档:

  1. 创建名为“User API”的集合。
  2. 在该集合中添加一个名为“Get User List”的请求,选择GET方法,URL设置为https://api.example.com/users
  3. 在请求的“Description”中添加以下Markdown文档:
# Get User List获取用户列表,包含所有注册用户的基本信息。## HTTP 请求`GET https://api.example.com/users`## 请求参数无## 成功响应示例- **Code**: 200 OK
- **Content**:```json
[{"id": 1,"name": "John Doe","email": "johndoe@example.com"},{"id": 2,"name": "Jane Smith","email": "janesmith@example.com"}
]

请注意,响应结果仅为示例,实际返回内容会因数据库中的用户数据不同而有所差异。


这样一来,你的请求旁边就会有一个可读性良好的文档标签,点击可查看详细说明。通过这些步骤,你可以在Postman中有效地创建、管理和分享你的API文档。这些文档随时可以更新和改进,以反映API的最新状态。
## <font size="4" color="##FF0000">8、什么是 Postman Monitor?</font>Postman Monitor 是 Postman 提供的一个功能,它允许你定期运行集合并监控API的健康状况和性能。Postman Monitor 可以定时自动运行集合中的请求,检查断言是否通过,并且提供运行结果的详细报告。这种监控对于确保API在部署后持续满足性能和可靠性标准非常有用。### 使用 Postman Monitor 的步骤:1. **创建和配置监控**:- 在Postman中选择你想要监控的集合。- 点击集合旁边的监视器图标(类似屏幕的图形)或者点击“...”,然后选择“Monitor Collection”。- 在弹出的窗口中,配置监控的参数,包括监控名称、运行频率(例如每小时、每天、每周等)、环境、监控区域(选择最接近的服务器位置)等。- 点击“Create”创建监控。2. **编写测试脚本**:- 在集合的请求中,可以编写测试脚本来验证API的响应,这些脚本将在监控运行时执行。- 例如,为“Get User List”请求添加测试脚本,确保返回的状态码是200:```javascript
pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});
  1. 查看监控结果
    • 创建监控后,它会根据你设置的运行频率自动运行。
    • 在Postman的Web界面中,你可以查看监控的历史记录和结果。
    • 如果测试失败或有任何问题,Postman可以配置警告通知,通常可以通过电子邮件、Slack等方式接收通知。

示例:

假设你有个API端点 GET https://api.example.com/users 用于获取用户列表。你希望监控这个端点每小时的可用性和响应时间。

  1. 在Postman中选择包含此请求的集合。
  2. 添加测试脚本到请求中,确保响应状态码为200并且响应时间小于500毫秒:
pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});pm.test("Response time is less than 500ms", function () {pm.expect(pm.response.responseTime).to.be.below(500);
});
  1. 创建监控并设置为每小时运行一次,选择适当的环境和服务器区域。
  2. 点击“Create”创建监控。

此后,Postman会自动每小时执行一次集合中的请求,运行相应的测试脚本并记录结果。你可以在Postman的Web界面查看监控的运行结果和历史统计数据,如果出现错误或测试失败,你将根据设置收到通知。

9、如何使用 Postman 进行 API Mocking?

API Mocking 是在后端服务还未开发完成时,模拟后端服务行为的一种方法。Postman 提供了创建模拟服务器的功能,从而可以模仿真实 API 的响应。这样前端开发者或者测试人员可以在真实后端服务可用之前就开始工作或测试。

创建 Mock Server 的步骤:

  1. 创建或选择一个集合

    • 首先,你需要有一个API集合。创建一个新集合或选择一个已有的集合。
    • 集合中应该包含至少一个请求,并为这些请求设定预期的响应。
  2. 设置请求的模拟响应

    • 在集合中选择一个请求,比如 GET /users
    • 在请求选项卡中,选择 “Examples”。
    • 点击 “Add Example”,在弹出的对话框中设置预期的响应。包括状态码、响应体、响应头等。
    • 保存示例响应。
  3. 创建 Mock Server

    • 选择集合右侧的下拉箭头旁的 “…”(更多选项),点击 “Mock Collection”。
    • 在弹出窗口中,为你的 Mock Server 设置名称,选择环境(如果有需要的话),并配置其他设置。
    • 选择你想要模拟的请求示例。
    • 点击 “Create Mock Server”。
  4. 使用 Mock Server

    • 创建完毕后,Postman 会提供一个 Mock Server 的URL。
    • 你可以使用这个URL替代实际的API端点,发起请求并接收模拟的响应。

示例:

假设你需要模拟一个API端点 GET /users,它返回一个用户列表。

  1. 创建示例请求和响应
    • 创建一个新的集合命名为 “User API”。
    • 在该集合中添加一个请求,设置方法为 GET,URL设置为 {{url}}/users,这里的 {{url}} 是一个环境变量,稍后会被Mock Server的URL替换。
    • 在该请求下,选择 “Examples”,点击 “Add Example”,并添加一个模拟响应示例:
// Example name: Successful User List
// Status code: 200 OK
{"users": [{ "id": 1, "name": "John Doe" },{ "id": 2, "name": "Jane Smith" }]
}
  1. 创建 Mock Server

    • 在 “User API” 集合旁边点击 “…”(更多选项),选择 “Mock Collection”。
    • 填写 Mock Server 名称,例如 “User API Mock Server”。
    • 保持默认环境(如果你没有特定的环境变量需求),选择刚才创建的示例响应。
    • 点击 “Create Mock Server”。
  2. 使用 Mock Server

    • Mock Server 创建完毕后,Postman 会提供一个 Mock Server URL,它看起来可能像这样: https://<mock-server-id>.mock.pstmn.io
    • 你现在可以使用这个URL发起请求。例如,用Postman或任何HTTP客户端发送请求到: https://<mock-server-id>.mock.pstmn.io/users
    • 请求将返回你之前设置的模拟响应:
{"users": [{ "id": 1, "name": "John Doe" },{ "id": 2, "name": "Jane Smith" }]
}

通过使用Mock Server,你能够在后端服务实际完成之前开始前端开发或测试,这样可以加快开发过程并提高效率。

10、如何在 Postman 中处理身份验证?

在 Postman 中处理身份验证通常意味着设置请求以包含必要的认证信息,从而让 API 能够验证调用者的身份。Postman 支持多种身份验证方法,包括基本认证、摘要认证、OAuth 1.0 和 OAuth 2.0、Bearer Token、API Key 等。

下面将详细解释如何在 Postman 中使用 OAuth 2.0 进行身份验证,以及如何使用它为请求添加访问令牌。

使用 OAuth 2.0 进行身份验证的步骤:

  1. 获取身份验证详情

    • 在开始之前,你需要从 API 提供者那里获得 OAuth 2.0 所需要的信息,如客户端ID、客户端密钥、授权URL和令牌URL。
  2. 配置 OAuth 2.0

    • 在 Postman 中,打开你想要发送的请求。
    • 点击请求选项卡下方的“Authorization”标签。
    • 从“Type”下拉菜单中选择“OAuth 2.0”。
    • 点击“Get New Access Token”按钮填写 OAuth 2.0 的详情。
      • Token Name: 给你的令牌一个名字,例如 “MyAuthToken”。
      • Grant Type: 选择适当的授权类型,例如 “Authorization Code”。
      • Callback URL: 输入 API 提供者指定的回调URL,OAuth 2.0认证过程中会用到。
      • Auth URL: 输入获得授权码的URL。
      • Access Token URL: 输入获取访问令牌的URL。
      • Client ID 和 Client Secret: 输入之前获取的客户端ID和密钥。
      • Scope: 输入 API 所需的权限范围。
      • State: 一个防止CSRF攻击的随机字符串。
    • 填写完毕后,点击“Request Token”。
  3. 使用令牌发送请求

    • 获取到访问令牌后,它将添加到你的环境变量或全局变量中。
    • 选择你要使用的访问令牌,并将其应用到请求头或请求URL中。
    • 现在,当你发送请求时,Postman 会自动添加 Authorization: Bearer <Your_Access_Token> 到请求头中。

示例:

假设你正在使用一个 API,它要求使用 OAuth 2.0 令牌。你需要获取一个用户列表,API端点是 GET https://api.example.com/users

  1. 在 Postman 打开 GET /users 请求。

  2. 点击“Authorization”标签。

  3. 从“Type”下拉菜单中选择“OAuth 2.0”。

  4. 点击“Get New Access Token”并填写以下信息:

    • Token Name: UserAPIToken
    • Grant Type: Authorization Code
    • Callback URL: https://api.example.com/callback
    • Auth URL: https://api.example.com/auth
    • Access Token URL: https://api.example.com/token
    • Client ID: client_id_provided_by_api
    • Client Secret: client_secret_provided_by_api
    • Scope: read:users
    • State: xyz
  5. 点击“Request Token”并完成认证流程。

  6. 选取获取的令牌并将其加入到请求中。

  7. 发送 GET /users 请求。

完成这些步骤后,你的请求将会包含一个有效的 OAuth 2.0 令牌,并且如果你的令牌配置正确,API应当返回用户列表数据。

请注意,OAuth 2.0 的实际配置细节取决于 API 提供者的要求。上述步骤和参数只是一个通用指南,你需要根据 API 文档来正确配置。

11、在 Postman 使用时的注意事项

使用 Postman 时,有几个关键注意事项可以确保你的API测试和开发过程更加顺畅和有效。下面是一些核心建议和最佳实践:

  1. 环境变量和全局变量的使用

    • 使用环境变量来存储可在多个请求间共享的数据,例如API的基础URL、认证令牌等。
    • 避免过度依赖全局变量,因为它们可能导致状态的混乱,特别是在团队协作时。
  2. 保护敏感数据

    • 不要在请求中硬编码敏感信息。使用变量来代替,并在环境配置中设置变量值。
    • 如果正在与他人共享集合,请使用Postman的内置功能从环境或请求中排除敏感数据。
  3. 请求描述和文档编写

    • 为每个请求和集合编写描述性的注释,这样其他人(或者未来的你)可以快速理解它们的用途和工作方式。
    • 使用Markdown格式在Postman内编写API文档,利于团队成员之间的信息共享和传递。
  4. 组织和结构化集合

    • 将相关的请求分组到集合中,并使用文件夹来进一步组织这些请求。
    • 对集合和文件夹命名时要清晰、一致并且具描述性,以便团队成员了解其结构。
  5. 使用Pre-request脚本和Tests

    • 利用Pre-request脚本在请求发送前动态设置变量或参数。
    • 编写Tests来验证响应数据和状态码,保证API行为如预期。
  6. 避免重复的工作

    • 利用Postman的继承特性,可以在集合或文件夹级别设置脚本和变量,这样所有子请求都可以使用。
    • 使用Postman的代码片段快速编写常见任务的测试脚本。
  7. 计划监控和Mock服务

    • 使用Postman监控来定期检查API的健康状况。
    • 创建Mock服务来模拟API的响应,以便在后端尚未实现时开始前端开发或测试。
  8. 注意版本控制

    • 定期导出和备份Postman数据,确保集合的版本控制,同时也可以使用Postman的内置版本控制功能。
    • 在团队协作时使用Postman的团队工作区和集合共享功能,保持集合的同步。

示例:

  1. 环境变量设置

    假设你有一个API的基础URL和认证令牌需要在多个请求中使用,你可以这样设置环境变量:

    • 创建一个新的环境,命名为“Development”。
    • 添加两个变量:baseUrlauthToken,分别设置为你的API基础URL和认证令牌。
    • 在请求URL中使用 {{baseUrl}}/endpoint,在Headers中使用 Authorization: Bearer {{authToken}} 来引用这些变量。
  2. 编写测试脚本

    对于一个 GET /users 的请求,你可能想检查返回的状态码和确保返回的是一个JSON数组。可以在Tests标签中添加以下脚本:

    pm.test("Status code is 200", function () {pm.response.to.have.status(200);
    });pm.test("Response is an array", function () {var jsonData = pm.response.json();pm.expect(jsonData).to.be.an('array');
    });
    

使用以上注意事项和示例,你可以更有效、安全且协作地使用Postman进行API开发和测试。这些最佳实践将帮助你维护一个清晰、有组织且可持续的API测试环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_999161.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp列表进入动画

app列表入场动画 - DCloud 插件市场 列表入场动画https://ext.dcloud.net.cn/plugin?id16957

WordPress 从入门到精通【设置 WordPress】

前言&#xff1a;为方便演示&#xff0c;前几张图使用 Playground 环境截取 如果你还不会部署WordPress&#xff0c;请看下面的链接并使用雨云可视化构建一个WordPress站点&#xff1a; 超简单EP面板搭建WordPress网站教程 - 风屿岛 10 (biliwind.com) 进入仪表盘 在搭建完…

禁止使用搜索引擎,你了解吗?

员工A&#xff1a;“我今天想搜索的时候&#xff0c;用不了浏览器了&#xff0c;你能用么&#xff1f;” 员工B&#xff1a;“不知道啊我试一下啊” “也不行” 员工C&#xff1a;“为什么啊&#xff1f;” 针对上述对话&#xff0c;我们不禁思考&#xff1a; 公司为什么禁…

机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析

一、引言 机器学习在当今社会扮演着日益重要的角色&#xff0c;但黑盒模型的不可解释性限制了其应用范围。因此&#xff0c;可解释性机器学习成为研究热点&#xff0c;有助于提高模型的可信度和可接受性。本文旨在探讨随机森林和fastshap作为可视化模型解析工具的应用&#xff…

Mysql的Cardinality值

什么是Cardinality值&#xff1f; Cardinality值是Mysql做索引优化时一个非常关键的值&#xff0c;优化器会根据这个值来判断是否使用这个索引&#xff0c;它表示索引中唯一值的数目估计值&#xff0c;该值应该尽可能接近1&#xff0c;如果非常小&#xff0c;则用户需要考虑是否…

机器学习中的线性代数

基础知识的的复习: 线性代数——深度学习花书第二章 - 知乎 矩阵分解 特征值分解。 PCA(Principal Component Analysis)分解,作用:降维、压缩。 SVD(Singular Value Decomposition)分解,也叫奇异值分解。 矩阵分解的主要应用是:降维、聚类分析、数据预处理、低维度特征学…

音视频学习笔记——实现PCM和H264合成MP4功能

本文主要记录实现PCM和H264合成MP4功能的整个框架&#xff0c;各个模块中FFmpeg的api使用流程&#xff0c;便于后续学习和复盘。 本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习&#xff0c;梳理总结后写下文章&#xff0c;对音视频相关内容感兴趣…

linux——线程(1)

我们在使用各种面向对象语言的时候或多或少会使用到语言的线程库&#xff0c; 它可以让我们的一个程序分成多个执行流进行并发执行&#xff0c;这样的模式会 大大提高我们代码的运行效率&#xff0c;而Linux操作系统中也有着属于自己的线 程库。从今天开始就由我来开始介绍Linu…

UE4 Niagara 关卡4.1官方案例解析

we now directly supporting playing audio from arbitrary locations in particle systems.users have control over volume and pitch,and the system can directly play sound waves,or sound cues which have multiple waves in them.(我们现在直接支持在粒子系统中从任意…

小白跟做江科大51单片机之AD/DA

1.看原理图找接口 2.看时序图编写读取数据代码 XPT2046.c代码 #include <REGX52.H> //引脚定义 sbit XPY2046_DINP3^4; sbit XPY2046_CSP3^5; sbit XPY2046_DCLKP3^6; sbit XPY2046_DOUTP3^7; unsigned int XPT2046_ReadAD(unsigned char Command) { unsigned char …

【重温设计模式】中介者模式及其Java示例

中介者模式的基本概念 在我们的日常生活中&#xff0c;有许多事情是需要通过一个“中介”来完成的&#xff0c;比如租房、买房、找工作等。在软件设计中&#xff0c;也有一种名为“中介者模式”的设计模式&#xff0c;它的作用和我们生活中的“中介”有着异曲同工之妙。 中介者…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Divider)

提供分隔器组件&#xff0c;分隔不同内容块/内容元素。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Divider() 从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使…

微服务超大Excel文件导出方案优化

1、在导出Excel时经常会碰到文件过大&#xff0c;导出特别慢 2、微服务限制了请求超时时间&#xff0c;文件过大情况必然超时 优化思路&#xff1a; 1、文件过大时通过文件拆分、打包压缩zip&#xff0c;然后上传到oss,并设置有效期&#xff08;30天过期&#xff09; 2、把…

selenium爬取房价收入比可视化

数据来源&#xff1a;聚合数据 from selenium import webdriver from bs4 import BeautifulSoup import csv from selenium import webdriver from fake_useragent import UserAgent import random import subprocess from selenium import webdriver from selenium.webdrive…

Java高频面试之消息队列与分布式篇

有需要互关的小伙伴,关注一下,有关必回关,争取今年认证早日拿到博客专家 消息队列的基本作用&#xff1f; 异步通信&#xff1a;消息队列提供了异步通信的能力&#xff0c;发送方可以将消息发送到队列中&#xff0c;而无需等待接收方立即处理。发送方和接收方可以解耦&#x…

window vscode安装node.js

window vscode安装node.js 官网下好vscode 和nodejs 选.msi的安装 点这个安装 下载完 继续安装 完毕后倒杯水喝个茶等2分钟 重启VScode 或者在cmd 运行 npm -v node -v 显示版本号则成功

波卡 Alpha 计划启动,呼唤先锋创新者重新定义 Web3 开发

原文&#xff1a;https://polkadot.network/blog/the-polkadot-alpha-program-a-new-era-for-decentralized-building-collaboration/ 编译&#xff1a;OneBlock 区块链领域不断发展&#xff0c;随之而来的是发展和创新机会的增加。而最新里程碑是令人振奋的 Polkadot Alpha …

鸿蒙Harmony应用开发—ArkTS声明式开发(触摸交互控制:触摸热区设置)

适用于支持通用点击事件、通用触摸事件、通用手势处理的组件。 说明&#xff1a; 从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 responseRegion responseRegion(value: Array<Rectangle> | Rectangle) 设置一个或…

UI自动化测试使用场景及脚本录制

经常有人会问&#xff0c;什么样的项目才适合进行UI自动化测试呢&#xff1f;UI自动化测试相当于模拟手工测试&#xff0c;通过程序去操作页面上的控件。而在实际测试过程中&#xff0c;经常会遇到无法找到控件&#xff0c;或者因控件定义变更而带来的维护成本等问题。 哪些场…

《UE5_C++多人TPS完整教程》学习笔记26 ——《P27 在线会话测试(Testing An Online Session)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P27 在线会话测试&#xff08;Testing An Online Session&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff0…