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

描述

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

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

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

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

为什么要测试 API?

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

使用邮递员进行 API 自动化测试:

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

主要亮点:

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

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

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

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

一旦开发出来,它不需要维护,可以随时验证,无需任何更改

纽曼 CLI:

Postman 集合运行器准备就绪后,它需要导出集合并使用 Newman 从命令行执行它。Newman 在执行后发布了一些报告,该报告可以公平地了解 API 故障以及详细信息。

主要亮点:

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

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

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

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

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

“Newman Run ”APITests.postman_collection“ – environment ”ClearbladeTest.postman_environment“ -r htmlextra –reporter-htmlextra-title ”Newman Run Dashboard”。

下图显示了报表的仪表板:

 

API

使用 CI 执行自动测试:

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

实时云 API 缺陷:

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

结论:

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

审核编辑:郭婷

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

全部0条评论

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

×
20
完善资料,
赚取积分