邮递员在开发和测试步骤中的作用

邮递员在开发和测试步骤中的作用

如果您正在开发相同的产品,跨团队的协作是不可避免的。后端团队公开一些API,前端和其他团队测试或使用它们。 BE 团队开发了一个新的 API,其他团队试图了解这个 API 的目的是什么?需要哪些参数?我们应该期待什么作为回应?如果我们测试边缘情况会发生什么?循环就这样继续下去。

此循环的每个成员都不必是开发人员或技术人员。尽管他们来自不同的背景,但不知何故,所有成员都应该能够理解这个概念并回答上述所有问题。

作为一名软件工程师,我同时使用了 Swagger 和 Postman。我有时使用它们来测试我开发的 API,测试其他团队的 API,以及测试业务流程(登录、保存、更新、获取、列表等)。这些是我们必须从它们两个中获得的主要功能。

我不想比较这两个选项,而是只想关注 Postman。
Postman 具有一些使其成为更好选择的功能,例如准备请求、环境和变量管理、保存和共享响应、虚拟变量、导出源代码和分叉集合。
在本文中,我将尝试涵盖上述主题。

准备请求

Postman 提供文件夹结构。您可以创建一个像 Employee 这样的文件夹并将所有 CRUD 请求放在它下面。此外,您可以通过单击请求附近的三个点来复制请求。例如,如果您已经创建了一个 POST 请求并想要创建一个具有相同参数的 PUT 请求,这将非常有用。

您可以复制请求或集合,如下所示。这减少了您创建新请求所需的时间。

环境和变量管理

如果您有一个 HTTP 请求集合,那么您可能(或将要)在不同的环境中工作,例如开发、生产、测试​​和登台。这意味着您将拥有多个 URL 和参数。这些可能是静态的或动态的。

假设我们有一个用于注册的 API。此 API 需要获取一些用户信息并返回 access_token 和 user_id。这些参数稍后用于用户更新 API。

例如,要更新用户名,我们应该复制 access_token 和 user_id 并将它们粘贴到用户更新请求中。我们可以使用变量,而不是手动执行此操作。

为了模拟这种情况,我创建了两个环境 Development 和 Production。每个环境都有自己的参数。每当我们从下拉菜单(右上角)中选择环境值时,其参数将在下一次 API 调用中使用。

静态变量

我们在上面看到了开发和生产环境变量。每个环境都有自己的变量,例如协议(HTTP 或 HTTPS)、URL(localhost 或 production_url.com)和端口(8080 或 9090)。我们可以在“当前值”部分下手动设置每个值。因为这些值是特定于环境的,所以我们不希望它们经常更改。这就是为什么我们可以这样设置它们。

动态变量

假设我们要保存一个员工然后更新它。让这成为我们的幸福之路(保存 >> 更新)。
我们应该做的是

1.拯救员工,

2. 从响应中复制员工 ID,

3.将员工ID粘贴到更新请求中

4.调用更新请求

2. 和 3. 步骤是不必要的。让我们看看如何跳过它们。

 pm.test("状态码为 200", () _= >_ pm.response.to.have.status(200));

上面的代码测试了我们的 API。我们声明我们期待 HTTP 成功代码 200。如果我们收到任何其他响应代码,Postman 会显示一个红色标签,指示 API 调用有问题。

 pm.environment.set(“employee_id”, pm.response.json().id);

上面的代码负责将响应读取为 JSON,提取 id 字段,并在环境变量中设置employee_id,如下所示。

如您所见,当我们单击开发环境附近的眼睛按钮时,会显示一个弹出窗口。最后一行显示我们的employee_id 已设置。

在此之后,我们可以在任何我们想要的地方使用employee_id,如下所示。

 “id”:{{employee_id}}

在不改变任何环境的情况下,我们可以将相同的请求发送到不同的环境。

保存并分享回复

假设您发送了一个请求并得到了一个有效的响应。您可能希望保存该响应以使每个人都知道该响应而无需调用 API。为此,有一个“保存响应”链接,当您单击它时,您将看到一个弹出窗口。弹出窗口中的第一项是“另存为示例”。

通过单击“另存为示例”链接,响应将保存在请求下,如下所示。 如果您想导出请求,“保存到文件”对您来说更方便。

虚拟变量

如果您想为请求的主体对象创建虚拟变量,Postman 提供了大量的虚拟值。让我们看看下面的例子。

如果您厌倦了像我一样在数据库中看到相同的用户名、电子邮件地址或电话号码,您应该使用动态变量而不是静态变量。这使数据看起来更真实。

如果您想深入了解动态变量,请检查 这个链接 出去。

导出源代码

有一次,我的一个朋友(他在移动团队工作)希望我帮助他为 IOS 应用程序中的文件上传功能编写一个 HTTP 客户端源代码。我无法帮助他,因为我不熟悉 Swift。但突然我意识到 Postman 有一个部分叫做“代码”。它会根据您从列表中的选择创建一个 HTTP 客户端代码。您可以在 UI 的右侧找到此部分和列表。

我点击了那个按钮并搜索了 Swift,瞧!就在那里。我找到了文件上传源代码并分享给了我的朋友。问题解决了。

简而言之,当您单击 Drop Drown 菜单时,您将看到如下所示的列表。搜索你想要的并使用它。

这是生成的客户端代码。

这个功能是我在邮递员中第二喜欢的东西。我很快就会告诉你第一个。继续阅读。

分叉一个集合

在我目前的项目中,我们正在与移动和数据科学团队合作开展一个项目。作为后端团队,我们为其他团队公开了一些 API,他们正在调用我们的 API。测试 API 或为 API 编写客户端需要协作。要管理它,您可以创建一个工作区并在其中注册您的团队成员。通过这种方式,他们可以使用您的集合并调用 API。问题出现在这里。当他们想要更改并保存请求中的某些内容时,您的原始请求会更改。您不希望这样做,因为很难跟踪每个更改并回滚它们。

为了避免这个问题,有一个很酷的方法。

单击 3 个点(靠近集合),然后单击“创建分叉”。

下一个屏幕包含 Fork Label 和 Workspace,它们是必填字段。应提供它们并应选择“观看原始收藏”。因为如果有人更改了原始集合或请求,我们希望看到我们的 fork 中的更改。这就是应选中此复选框的原因。

当您单击“Fork Collection”时,您将使用自己的版本。就是这样了。

我在我们的项目中遇到了类似的问题,我建议每个人都使用它。使用此功能后,我们能够解决问题并开始工作而不会影响任何人。本文基于真实记忆。这就是为什么最后一个主题是我在邮递员上最喜欢的功能 😃

长话短说,Postman 不仅提供了最酷的 API 协作方式,而且为开发人员和非技术人员提供了易于理解的文档。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/11236/11150211

posted @ 2022-09-02 11:12  哈哈哈来了啊啊啊  阅读(26)  评论(0编辑  收藏  举报