Postman 教程 – 如何用于 API 测试?
什么是 Postman?
Postman 是一款可扩展的 API 测试工具,可快速集成到 CI/CD 管道中。它于 2012 年由 Abhinav Asthana 作为附带项目启动,旨在简化测试和开发中的 API 工作流程。API 代表应用程序编程接口,允许软件应用程序通过 API 调用相互通信。
为何使用 Postman?
目前用户数已超过 4 万, Postman 软件已经成为首选工具,原因如下:
- 可访问性 – 使用 Postman 工具,人们只需登录自己的账户,就可以随时随地轻松访问文件,只要 Postman 应用程序已安装在计算机上。
- 收藏品的使用 – Postman 让用户可以为其创建收藏集 Postman API 调用。每个集合都可以创建子文件夹和多个请求。这有助于组织您的测试套件。
- 协作 – 可以导入或导出收藏集和环境,从而轻松共享文件。还可以使用直接链接来共享收藏集。
- 创建环境 – 拥有多个环境有助于减少测试的重复,因为可以使用相同的集合,但用于不同的环境。这就是参数化将发生的地方,我们将在后续课程中讨论。
- 创建测试——可以将测试检查点(例如验证成功的 HTTP 响应状态)添加到每个 Postman API 调用有助于确保 测试覆盖率.
- 自动化测试——通过使用 Collection Runner 或 Newman,测试可以多次迭代运行,从而节省重复测试的时间。
- 调试 – Postman 控制台有助于检查已检索到的数据,从而可以轻松调试测试。
- 持续整合 – 通过支持持续集成的能力,可以维持开发实践。
使用方法 Postman 执行 API
下面是 Postman 工作区。让我们一步步探索 使用方法 Postman 以及不同的特点 Postman 工具!
- 新建 – 您可以在此处创建新的请求、集合或环境。
- 导入 – 用于导入集合或环境。有从文件、文件夹、链接或粘贴原始文本导入等选项。
- Runner – 可以通过 Collection Runner 执行自动化测试。下一课将进一步讨论这一点。
- 打开新标签页 – 打开新标签页, Postman 单击此按钮可打开窗口或运行器窗口。
- 我的工作区 – 您可以单独或作为团队创建一个新的工作区。
- 邀请——通过邀请团队成员在工作区上进行协作。
- 历史记录 – 您过去发送的请求将显示在历史记录中。这样可以轻松跟踪您已执行的操作。
- 集合 – 通过创建集合来组织您的测试套件。每个集合可能有子文件夹和多个请求。请求或文件夹也可以复制。
- 请求选项卡 – 显示您正在处理的请求的标题。默认情况下,没有标题的请求将显示“无标题请求”。
- HTTP 请求 – 单击此项将显示不同请求的下拉列表,例如 GET、POST、COPY、DELETE 等。在 Postman API测试,最常用的请求是GET和POST。
- 请求 URL – 也称为端点,在这里您将识别 API 将与之通信的链接。
- 保存 – 如果请求有变化,必须单击保存,以免新的更改丢失或被覆盖。
- Params – 您将在此处写入请求所需的参数,例如键值。
- 授权——为了访问 API,需要适当的授权。它可能采用用户名和密码、承载令牌等形式。
- 标题 – 您可以根据组织的需要设置标题,例如内容类型 JSON。
- 正文 – 此处可以自定义请求中常用的 POST 请求的详细信息。
- 预请求脚本 – 这些是在请求之前执行的脚本。通常,设置环境的预请求脚本用于确保测试在正确的环境中运行。
- 测试 – 这些是在请求期间执行的脚本。进行测试很重要,因为它设置了检查点来验证响应状态是否正常、检索到的数据是否符合预期以及其他测试。
使用 GET 请求
Get 请求用于从给定的 URL 检索信息。不会对端点进行任何更改。
我们将在本章的所有示例中使用以下 URL Postman 教程 https://jsonplaceholder.typicode.com/users
在工作区中
- 将您的 HTTP 请求设置为 GET。
- 在请求URL字段中输入链接
- 单击发送
- 您将看到 200 OK 消息
- 正文中应该有 10 个用户结果,这表明您的测试已成功运行。
*注意: 可能会出现 Postman 请求可能不成功。这可能是由于请求 URL 无效或需要身份验证。
使用 POST 请求
Post 请求与 Get 请求不同,因为 Post 请求需要用户向端点添加数据,从而进行数据操作。使用上一教程中 Get 请求中的相同数据,现在让我们添加自己的用户。
步骤1) 单击新选项卡来创建新请求。
步骤2) 在新标签页中
- 将您的 HTTP 请求设置为 POST。
- 在请求url中输入相同的链接: https://jsonplaceholder.typicode.com/users
- 切换到“正文”选项卡
步骤3) 在正文中,
- 点击原始
- 选择 JSON
步骤4) 复制并粘贴上一个 get 请求中的一个用户结果,如下所示。确保代码已正确复制,并带有成对的花括号和方括号。将 id 更改为 11,将 name 更改为任何所需的名称。您还可以更改其他详细信息,例如地址。
[ { "id": 11, "name": "Krishna Rungta", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } } ]
*注意: 在线 Post 请求应具有正确的格式,以确保请求的数据将被创建。最好先使用 Get 检查请求的 JSON 格式。您可以使用以下工具 https://jsonformatter.curiousconcept.com/
步骤5) 接下来,
- 单击发送。
- 应显示状态:201 创建
- 已发布的数据显示在正文中。
如何参数化请求
数据参数化是 Postman。您可以使用带参数的变量,而不是使用不同的数据创建相同的请求。这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,并且迭代可用于 自动化测试.
参数是通过使用双花括号创建的:{{sample}}。让我们看一个在上一个请求中使用参数的示例:
现在让我们创建一个参数化获取请求。
步骤1)
- 将 HTTP 请求设置为 GET
- 输入此链接: https://jsonplaceholder.typicode.com/users。将链接的第一部分替换为参数,例如 {{url}}。请求 url 现在应为 {{url}}/users。
- 点击发送。
由于我们没有设置参数的来源,因此应该不会有响应。
步骤2) 要使用该参数,您需要设置环境
- 点击眼睛图标
- 单击编辑将变量设置为可在所有集合中使用的全局环境。
步骤3) 在变量中,
- 将名称设置为 URL,即 https://jsonplaceholder.typicode.com
- 单击保存。
步骤4) 如果看到下一个屏幕,请单击“关闭”
步骤5) 返回您的获取请求,然后单击发送。现在应该有您的请求的结果。
*注意: 始终确保您的参数具有来源(例如环境变量或数据文件),以避免错误。
如何创建 Postman 检测
Postman 测试是 Java添加到请求中的脚本代码,可帮助您验证结果(例如成功或失败状态、预期结果的比较等)。它通常以 pm.test 开头。它可以与其他工具中的 asserts、verify 命令进行比较。
让我们做一些基本的 API测试 运用 Postman 用于我们上一课的参数化请求。
步骤1) 转到上一个教程中的 GET 用户请求。
- 切换到测试选项卡。右侧是代码片段。
- 从片段部分,单击“状态代码:代码为 200”。
窗格会自动填充
步骤2) 现在单击“发送”。现在应该显示测试结果。
步骤3) 回到测试选项卡,让我们添加另一个测试。这次我们将比较预期结果和实际结果。
在代码片段部分,单击“响应主体:JSON 值检查”。我们将检查 Leanne Graham 是否具有用户 ID 1。
步骤4)
- 将代码中的“您的测试名称”替换为“检查 id1 的用户是否是 Leanne Graham”,以便测试名称准确指定我们想要测试的内容。
- 将 jsonData.value 替换为 jsonData[0].name。要获取路径,请查看前面获取结果中的正文。由于 Leanne Graham 的用户 ID 为 1,因此 jsonData 位于第一个结果中,该结果应以 0 开头。如果要获取第二个结果,请使用 jsonData[1],依此类推获取后续结果。
- 在 eql 中输入“Leanne Graham”
pm.test("Check if user with id1 is Leanne Graham", function () { var jsonData = pm.response.json(); pm.expect(jsonData[0].name).to.eql("Leanne Graham"); });
步骤5) 点击发送。现在您的请求应该有两个通过的测试结果。
*注意: 可以创建不同类型的测试 Postman。尝试探索该工具并查看哪些测试适合您的需求。
如何创建收藏集
集合在组织测试套件中起着重要作用。它可以导入和导出,从而可以轻松地在团队之间共享集合。在本教程中,我们将学习如何创建和执行集合。
让我们开始创建一个集合:
步骤1) 点击页面左上角的新建按钮。
步骤2) 选择收藏夹。创建收藏夹窗口应弹出。
步骤3) 输入所需的集合名称和描述,然后单击创建。现在应该创建一个集合。
步骤4) 返回上一个 Get 请求。单击“保存”
步骤5)
- 选择 Postman 測試集合。
- 点击保存到 Postman 测试集合
步骤6) Postman 测试集合现在应该包含一个请求。
步骤7) 对上一个 Post 请求重复步骤 4-5,以便集合现在有两个请求。
如何使用 Collection Runner 运行集合
运行集合有两种方式:Collection Runner 和 Newman。我们先从在 Collection Runner 中执行集合开始。
步骤1) 单击页面顶部导入按钮旁边的 Runner 按钮。
步骤2) Collection Runner 页面应如下所示。以下是各个字段的描述
步骤3) 运行你的 Postman 通过设置以下内容来测试集合:
- 选择 Postman 测试集合-将迭代次数设置为 3
- 将延迟设置为 2500 毫秒
- 点击运行 Postman 测试...按钮
步骤4) 单击“运行”按钮后,应显示“运行结果”页面。根据延迟,您应该会看到测试的执行情况。
- 测试完成后,您可以查看测试状态(通过或失败)以及每次迭代的结果。
- 您会看到获取请求的通过状态
- 由于我们没有对 Post 进行任何测试,因此应该出现一条消息提示该请求没有任何测试。
您可以看到在请求中进行测试是多么重要,这样您就可以验证 HTTP 请求状态是否成功以及是否创建或检索了数据。
如何使用 Newman 运行收藏集
运行集合的另一种方法是通过 Newman。Newman 和 Collection Runner 之间的主要区别如下:
- Newman 是 Postman。您需要单独安装它,与 Native App 无关。
- Newman 使用命令行,而 Collection Runner 有 GUI。
- Newman可用于持续集成。
要安装 Newman 并从中运行我们的集合,请执行以下操作:
步骤1) 使用这个链接安装nodejs: http://nodejs.org/download/
步骤2) 打开命令行并输入
npm install -g newman
Newman 现在应该安装在您的计算机上。
步骤3) 安装 Newman 后,让我们回到我们的 Postman 工作区。在“收藏”框中,单击三个点。现在应该会出现选项。选择“导出”。
步骤4) 选择将收藏集导出为收藏集 v2.1(推荐),然后单击导出。
步骤5) 选择所需位置,然后单击“保存”。建议为您的 Postman 测试。现在应该将集合导出到您选择的本地目录。
步骤6) 我们还需要导出我们的环境。单击 Global 中环境下拉菜单旁边的眼睛图标,选择下载为 JSON。选择所需位置,然后单击保存。建议将环境与您的收藏放在同一个文件夹中。
步骤7) 现在应该将环境导出到与集合相同的本地目录。
步骤8) 现在返回命令行并将目录更改为保存集合和环境的位置。
cd C:\Users\Asus\Desktop\Postman Tutorial
步骤9) 使用以下命令运行您的收藏:
newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json
运行结果现在应如下所示。
以下是一些用于执行的基本 Newman 代码的参考:
- 仅运行收集。 如果没有环境或测试数据文件依赖性则可以使用它。
- 运行集合和环境。 -e 指示符代表环境。
- 以所需迭代次数运行集合。
- 使用数据文件运行。
- 设置延迟时间。 这一点很重要,因为如果由于请求在端点服务器上没有完成前一个请求的处理而启动,测试如果没有延迟就可能失败。
newman run <collection name>
newman run <collection name> -e <environment name>
newman run <collection name> -n <no.of iterations>
newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name>
newman run <collection name> -d <delay time>
我们的 Postman 面试问题指南 将帮助您破解面试并帮助您获得理想的软件测试工作。
总结
- 使用 API 进行测试 Postman: Postman 是一个用于测试API的应用程序。 Postman 是 API 测试中最流行的工具之一,通过向 Web 服务器发送请求并获取响应
- 可访问性、集合的使用、协作、持续集成是需要学习的一些关键特性 Postman
- 建议您在 Postman,这样你的收藏品就可以在线查看
- 您可以在以下位置参数化请求 Postman
- 您可以创建测试来验证邮递员请求
- 可以使用 Newman 或 Collection Runner 运行收藏