如何使用 Postman 自动化 API 测试

API 是您作为开发人员构建的几乎每个应用程序的驱动力,充当两个或多个软件组件之间的通信渠道。

但是,这种类型的系统的后果是一个组件的故障可能会对依赖它的其他组件产生重大影响。因此,广泛测试您的 API 以确保应用程序的正确性和可预测性至关重要。

有许多不同的方法可以测试您的 API,您选择的任何方法或方法组合最终将取决于您当前的业务需求、可用资源和实施细节。

在本文中,我们将探讨如何为将在 CI/CD 管道中运行的 API 编写自动化功能和集成测试。

  • 为什么要自动化 API 测试?

  • 使用 Postman 编写 API 测试

    • 设置邮递员

  • 设置请求

  • 构建 API 服务器

  • 在 Postman 上运行手动测试

  • 自动化您的 API 测试

  • 将 Newman 与 GitHub Actions 集成

  • 把这一切放在一起

  • Postman 对 API 测试的限制

为什么要自动化 API 测试?

编写测试有助于确保您的应用程序在任何给定时间的可预测性和正确性。因此,您应该在代码库更改时运行测试。像这样的重复性任务通常是自动化的良好候选者。

自动化测试让您有信心对应用程序进行更改和添加新功能,因为您始终可以依靠测试来指出您可能引入的错误。

使用 Postman 编写 API 测试

Postman是一个为构建、测试、记录和模拟 API 提供一整套工具的平台。作为开发人员,您很可能在本地开发时使用 Postman 向后端应用程序发出请求,但您可以用它做更多事情。

设置邮递员

要学习本教程,您需要一个 Postman 帐户。如果您还没有,请创建一个免费帐户。然后,导航到您的 Postman 工作区以开始使用。

我们将创建一个名为的新集合Delivery-API Tests,我们将在其中为我们将在本节稍后创建的交付 API 编写一些功能和集成测试。iPhone14用户抱怨蓝牙问题、性能问题及潜在问题的修复方法功能测试检查单个 API 端点的行为并确保请求-响应周期符合预期。另一方面,集成测试检查可以由两个或多个端点组成的特定流,以确定用户流中涉及的不同组件是否按预期工作。

此时,您的工作区应在左侧面板中显示该集合:

设置请求

接下来,我们需要创建将保存我们的测试的请求。一个请求将代表一个 API 端点。在Delivery-API Tests集合上,单击右侧出现的菜单按钮。

选择添加请求并命名创建的请求Search Deliveries。再创建三个名为Select Delivery、Confirm Pickup和的请求Complete Delivery。

现在,我们需要为每个请求编写测试。Postman 有一个内置的测试工具,允许您使用 JavaScript 语法编写测试。使用PowerToys重新映射键盘快捷键、热键、宏的几种方法运行请求后立即执行测试,您可以在测试脚本中访问从请求返回的响应。


超过 20 万开发人员使用 LogRocket 来创造更好的数字体验了解更多 →


在Delivery-API Tests集合中,选择Search Deliveries请求并选择测试选项卡。将以下代码块粘贴到编辑器中:

const responseJson = pm.response.json()
​
pm.test("response status", function() {
    pm.response.to.have.status(200)
})
​
pm.test("data contains results", function() {
    pm.expect(responseJson).to.haveOwnProperty("data")
    pm.expect(responseJson.data).to.be.an("array")
    pm.expect(responseJson.data[0]).to.haveOwnProperty("status")
})
​
pm.collectionVariables.set("SELECTED_DELIVERY_ID", responseJson.data[0].id)

在上面的代码中,我们通过调用获取 JSON 格式的响应pm.response.json()。请注意,这pm是一个在所有请求脚本中都可用的全局对象。然后,我们使用pm.test.

如果您熟悉 JavaScript 中的测试,那么这里的语法应该很简单。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pxr007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值