提升 Postman 使用体验 - 第一部分
您是否曾经使用过 Postman,并且在需要验证任何请求时想过:“天哪,这太无聊了”,或者“这太乱了,我需要的 API 请求在哪里?”,所以,亲爱的学徒,不要惊慌,本文将帮助您提升使用此工具的体验并避免浪费您的时间。
什么是邮递员
Postman是一款流行的 API(应用程序编程接口)开发和测试工具。它提供了一个用户友好的界面,用于向 API 发出 HTTP 请求并检查响应。Postman 广泛应用于软件开发的各个阶段,以简化软件项目开发和测试阶段 API 的使用流程。
主要特点:
- API请求构建
- 收藏与环境
- 自动化和测试
- 监控和模拟
- 合作
- 文档
- 一体化
Postman 适用于 Windows、macOS 和 Linux。此外,它还提供网页版、功能有限的免费版以及面向团队和企业的高级功能付费版。凭借其用户友好的界面和丰富的功能,Postman 已成为 API 开发和测试工作流程中的标准工具。
使用 Collections 作为你的盟友
首先,我们需要了解什么是集合。如果你查看 Postman 文档,他们会说集合是:
Postman Collections 是 API 组织的黄金标准。通过 Collections,您可以将相关的 API 元素链接在一起,以便于编辑、共享、测试和重用。
因此,集合基本上是一个文件夹,您可以对请求进行分组以保持工作区井然有序。
创建集合后,您将看到以下页面:
在本教程中,我们将使用免费的 Books API。此 API 允许您创建、编辑、搜索和删除图书,您可以在此处了解更多信息。
概述
概览页面包含集合的请求,显示如下详细信息:
- 授权类型
- 正文请求
- 基本 URL
这是记录 API 的简便方法。点击“查看完整文档”后,将以文档形式列出请求详情:
授权
当您选择一种类型时,您可以对集合内的所有请求使用相同的授权,例如:
如果您转到您的请求,在授权选项卡上,您可以选择“从父级继承”选项,这样,您的所有请求都将使用相同的身份验证:
这是一个很好的做法,可以帮助您减少创建新请求的时间。
变量
在此选项卡中,我们可以开始实现变量。有了它们,可以在不同的请求中重复使用,如果需要更改,只需在集合中的变量中进行更改即可。
例如,让我们创建两个变量:
- baseUrl - 用于我们请求的基本 URL
- token - 我们将用它来存储将在集合中使用的令牌
要在请求中使用这些变量,请将它们写在双花括号之间:
curl --location '{{baseUrl}}'
预请求脚本
在此选项卡中,您可以编写一个脚本,该脚本将在集合内每次请求之前执行。您可以使用此部分设置变量、发出请求以及清除缓存。
在Postman中,单个请求的脚本执行顺序如下:
这里有一个例子,说明如何清除变量,并使用预请求脚本执行请求:
pm.environment.unset("token"); // clear the variable
const url = pm.variables.get("baseUrl"); // get the baseUrl variable
// Doing a request at Pre-request Script
pm.sendRequest(url, function (err, response) {
console.log(response.json());
});
您可以使用 Postman 团队制作的 Javascript 代码片段来帮助您构建自己的预请求脚本。预请求脚本使用 JavaScript 语言编写。
测试
如果您想对所有请求进行相同的验证,可以使用“测试”选项卡。对于不同的验证,您可以为每个请求创建特定的测试。作为预请求,Postman 内部的测试是使用 JavaScript 语言编写的。
作为一个简单的例子,让我们进行一个验证,其中所有请求都应该具有 HTTP 状态 200:
现在,对于返回书籍列表的端点,让我们验证响应主体是否包含预期的字段:
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("id");
pm.expect(pm.response.text()).to.include("title");
pm.expect(pm.response.text()).to.include("description");
pm.expect(pm.response.text()).to.include("pageCount");
pm.expect(pm.response.text()).to.include("excerpt");
pm.expect(pm.response.text()).to.include("publishDate");
});
当您在集合中运行请求时,在“测试结果”选项卡上,您可以看到为所有集合创建的测试以及为此特定请求创建的测试。
你的需求将决定在哪里编写测试。它可以针对单个请求,也可以针对所有请求。
运行集合
现在我们知道了如何使用集合,那么如何更轻松地使用它们呢?很简单,您可以使用“运行集合”选项运行所有请求。
单击此按钮时,您可以更改运行收藏的方式,例如:
- 请求的顺序
- 迭代次数 - 1 次或多次
- 他们之间的延迟
- 计划运行
- 并在管道中运行此集合
为简洁起见,在本教程中,我们将了解如何手动运行集合:
运行结果汇编在一页有关测试、响应时间和响应大小(以千字节为单位)的信息中
环境变量与集合变量
除了集合变量之外,Postman 还允许您创建不同的环境,但最大的问题是:我应该何时使用它们?哪一个更适合我的需求?
首先,我们需要了解环境是一组可在 Postman 请求中使用的变量。如果您是团队的一员,可以使用环境将相关的值组合在一起,并管理对共享 Postman 数据的访问权限。
因此,如果您的变量仅限于某个环境,请使用环境变量;但如果它们仅与某个集合相关,则只能使用集合变量。请始终考虑哪种方法最适合您,并考虑它们如何在您的开发过程中为您提供帮助。
结论
本文将介绍如何使用 Postman 的 API 测试工具来节省测试时间,您可以点击此处访问示例中使用的工具。下周,我们将学习如何通过 CLI 运行这些 API,并学习一些新的技巧来帮助您更好地使用这个强大的工具。
希望这些内容对你有用。
如果您有任何疑问,请随时与我联系!
Bisous,à la semaine prochaine 💅🏼
文章来源:https://dev.to/m4rri4nne/deep-dive-into-api-testing-boost-your-experience-with-postman-part-i-3jgk