0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Shraddha Shah 2022-06-20 10:19 次阅读

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 的软件系统包含可由另一个软件系统执行的功能/子例程。它通过增加测试覆盖率和频率来帮助创建更健壮和抗错误的程序。

审核编辑:郭婷

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

    关注

    66

    文章

    18487

    浏览量

    180167
  • 物联网
    +关注

    关注

    2909

    文章

    44608

    浏览量

    373097
  • API
    API
    +关注

    关注

    2

    文章

    1499

    浏览量

    61989
收藏 人收藏

    评论

    相关推荐

    探索Playwright:前端自动化测试的新纪元

    作者:京东保险 张新磊 背景 在前端开发中,自动化测试是确保软件质量和用户体验的关键环节。随着Web应用的复杂性不断增加,手动测试已经无法满足快速迭代和持续交付的需求。自动化
    的头像 发表于 10-22 14:27 177次阅读

    开关电源自动化测试设备:如何实现自动化测试

    开关电源自动化测试设备是将测试软件和测试硬件集成在一个电源测试柜中的ate自动测试设备,其
    的头像 发表于 08-30 18:19 1264次阅读
    开关电源<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>设备:如何<b class='flag-5'>实现</b><b class='flag-5'>自动化</b><b class='flag-5'>测试</b>?

    OTA自动化测试解决方案——实车级OTA测试系统PAVELINK.OTABOX

    作者|网虫小编|不吃猪头肉引言往期内容里为大家介绍了OTA技术、OTA后续的发展趋势预测及OTA自动化测试解决方案。本文是OTA系列的第三篇文章,今天主要向大家介绍实车级OTA自动化测试
    的头像 发表于 07-11 08:26 656次阅读
    OTA<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>解决方案——实车级OTA<b class='flag-5'>测试</b>系统PAVELINK.OTABOX

    机械自动化和电气自动化区别是什么

    机械自动化和电气自动化是现代工业生产中两个重要的领域,它们在许多方面有着密切的联系,但也存在一些明显的区别。 一、基本概念 机械自动化 机械自动化是指利用机械设备、传感器、控制系统等技
    的头像 发表于 07-01 09:33 4054次阅读

    机械自动化自动化的一种吗

    引言 自动化技术是指利用控制装置对生产过程进行控制,以实现生产过程的自动化。机械自动化自动化技术的一种,它主要涉及到使用机械设备和控制系统
    的头像 发表于 07-01 09:32 1659次阅读

    如何实现PLC的自动化控制逻辑

    在工业自动化领域,PLC(Programmable Logic Controller,可编程逻辑控制器)扮演着至关重要的角色。PLC通过编程实现自动化控制逻辑,使设备能够按照预定的程序进行工作,极大
    的头像 发表于 06-15 16:44 1175次阅读

    机械制造与自动化自动化类吗

    机械制造与自动化自动化领域的一个重要分支,它涉及到机械设计、制造、检测、控制等多个方面,是现代制造业的核心组成部分。 机械制造与自动化是指利用计算机、机器人、传感器等自动化设备和技术
    的头像 发表于 06-11 11:18 1518次阅读

    工业自动化自动化区别是什么

    工业自动化自动化是两个密切相关但又有所区别的概念。在这篇文章中,我们将详细探讨它们之间的区别,以及它们在现代工业生产中的应用。 一、自动化的定义 自动化是指通过使用机器、计算机和其他
    的头像 发表于 06-11 11:13 1688次阅读

    基于TAE的数字钥匙自动化测试解决方案

    通过自动化测试执行软件TAE、总线监控分析工具VBA和程控电源,的联合调用,实现数字钥匙 的功能测试、性能测试、诊断
    的头像 发表于 05-29 15:15 987次阅读
    基于TAE的数字钥匙<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>解决方案

    纳米软件自动化测试合作:4644芯片与VPX模块测试

    近日,纳米软件与西安广勤电子技术有限公司就4644电源芯片自动化测试和VPX电源自动化测试达成战略合作。在双方进行深入探讨后,纳米软件为广勤电子公司提供了高效、专业的
    的头像 发表于 05-09 15:49 458次阅读
    纳米软件<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>合作:4644芯片与VPX模块<b class='flag-5'>测试</b>

    纳米软件分享:电源管理芯片自动化测试方案

    在纳米软件与江苏某科技公司合作的电源管理芯片产线测试项目中,需要完成单入单出、单入双出、单入三出、单入四出系列微模块的14个项目的自动化测试。该公司之前是手动测试,没有
    的头像 发表于 04-23 13:47 495次阅读
    纳米软件分享:电源管理芯片<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>方案

    Postman接口自动化测试实用指南

    Postman 中相关的功能在非常显眼的地方,Tests 功能的使用需要我们有一定的编程语言基础,目前支持的脚本语言即为 JavaScript 。
    的头像 发表于 03-26 14:47 418次阅读
    <b class='flag-5'>Postman</b>接口<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>实用指南

    Eggplant—HMI自动化测试软件

    实现自动化的HMI操作测试,较大提高HMI的功能测试效率。对于车机车辆网、T-BOX等功能,需要面对大量web网页测试、手机APP
    的头像 发表于 01-23 18:00 605次阅读

    沙特stc和华为商用核心网自动化实践荣获“年度最佳自动化项目奖”

    近期,Global Telecom Awards(GTA)颁奖典礼在英国伦敦举行。沙特stc和华为因在核心网自动化方面的创新实践荣获“年度最佳自动化项目奖”(Automation
    的头像 发表于 01-17 10:15 453次阅读

    自动化仿真系统搭建实践

    今天我们分享TIAV17+PLCSIM+PS+SIMIT:自动化仿真系统搭建实践
    的头像 发表于 01-04 11:28 2208次阅读
    <b class='flag-5'>自动化</b>仿真系统搭建<b class='flag-5'>实践</b>