使用Postman成功实现API测试自动化的最佳实践

描述

  API代表应用程序编程接口,用于稳定两个不同应用程序之间使用任何通信方式的交互。每次您在智能手机上查看天气或火车到站时,您都在使用 API,使您的智能手机应用程序能够从气象局的应用程序或火车运营商的火车跟踪和时刻表系统中提取信息。

  API 还有助于控制应用程序可能不一定有权使用的硬件设备和软件功能。这就是 API 通常在安全性方面发挥重要作用的原因。

  API 是物联网世界不可或缺的一部分,它将移动应用程序与真实设备集成在一起。API 充当粘合剂,帮助将设备、产品、设施、资产和其他对象与使用它们生成的数据的应用程序连接起来。

  物联网中所有设备的集成都是关于 API 的——可互操作的逻辑连接,允许应用程序与每个制造商的物联网设备进行通信。API 提供的数据使这些设备能够将信息传输到最终应用程序,充当数据接口。此外,它们可以允许最终应用程序控制设备并用作功能接口。

  为什么要测试 API?

  由于 API 在数据方面至关重要并且充当应用程序和设备之间的桥梁,因此需要对其进行测试以确保正确表示数据。完美的工作 API 导致完美的工作应用程序。测试 API 解决了应用程序中的许多问题,这些问题可能在未来的某个时候出现。有很多软件可用于 API 测试,其中一种软件是 Postman。

  使用 Postman 进行 API 自动化测试

  Postman 是一个允许我们开发、使用和测试 Rest API 的平台。它可以作为 Chrome 的扩展使用。

  主要亮点

  Postman 允许我们创建集成测试集合,以确保 API 按预期工作。对于每个测试,都会发出一个 HTTP 请求,然后使用 JavaScript 编写的断言来验证代码的完整性。

  Postman 提供了断言列表,由于测试和测试断言是用 JavaScript 编写的,我们可以自由地以不同的方式操作接收到的数据,例如创建局部变量甚至创建循环以重复运行测试。

  Postman 还允许我们将来自先前测试的数据存储到全局变量中。这些变量可以像环境变量一样使用。例如,有一个 API 需要从另一个 API 接收数据。我们可以存储响应(或响应的一部分,因为它是 JavaScript)并将其用作请求标头、帖子正文或 URL 的一部分,以供后续 API 调用。

  在 Postman 的帮助下,我们可以将为一个环境编写的代码(断言)重用于多个其他环境。

  一旦开发完成,它就不需要维护,并且可以在任何时间点进行验证,无需任何更改。

  纽曼 CLI

  一旦 Postman 集合运行器准备就绪,它就会导出集合并使用 Newman 从命令行执行它。Newman 会在执行后发布报告,这可以让您大致了解 API 故障以及详细信息。

  主要亮点

  Newman 直接从命令行运行和测试邮递员集合。

  它是可扩展的,因此我们可以轻松地将它与我们的持续集成服务器和构建系统集成。

  它附带一份报告,提供完整的执行信息。

  Newman 基于 Node.js 构建,可以从以下 URL 下载:https ://nodejs.org/download/ 。

  一旦我们安装了 Node.js,现在可以使用以下命令将 Newman 安装到机器中:“npm install -g newman”。它可以进一步扩展以使用“newman-reporter-htmlextra”接收报告,其中包括迭代运行的分离而不是聚合在一起。它还包括一些额外的帮助程序,使用户能够创建更好的自定义模板。

  为了通过命令行触发执行,需要使用以下命令:

  “newman 运行“APITests.postman_collection”--environment “ClearbladeTest.postman_environment”-r htmlextra --reporter-htmlextra-title “Newman 运行仪表板。”

  使用 CI 执行自动化测试

  为了完成整个过程并使其从触发到报告完全自动化,我们需要将该流程与称为 Jenkins 的持续集成集成。在部署开发代码时,可以对其进行测试,并且可以通过 Jenkins 自动触发 API 测试的执行。测试执行报告将在邮箱中收到。

  实时云 API 缺陷

  API 自动化测试产生的实时错误可以在产品发布之前修复,从而提高代码效率并减少系统中的缺陷。例如,存在用户无法从应用程序中删除位置/设备的问题,并且之前通过 API 测试结果报告了该问题,这有助于我们保持代码质量和应用程序质量。

  结论

  API 测试自动化支持两个独立软件系统之间的通信和数据交换。实现 API 的软件系统包含可由另一个软件系统执行的功能/子例程。它通过增加测试覆盖率和频率来帮助创建更健壮和抗错误的程序。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分