还未设置个性签名
成为VIP会员 享9项特权: 开通会员

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

3天内不再提示

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

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

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

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

审核编辑:郭婷

  • 智能手机
    +关注

    关注

    65

    文章

    16631

    浏览量

    168520
  • 物联网
    +关注

    关注

    2824

    文章

    32448

    浏览量

    336724
  • API
    API
    +关注

    关注

    0

    文章

    806

    浏览量

    57757
收藏 人收藏

    评论

    相关推荐

    WT2003HX-24SS音频解码芯片的参数

    红绿灯大多数只是在视觉上传达通行信息,当行人过马路时,为了节约时间,会不由自主地闯红灯,把生命财产当....
    的头像 唯创知音电子 发表于 08-17 17:51 23次 阅读
    WT2003HX-24SS音频解码芯片的参数

    如何利用4G DTU实现水利远程物联网监控

    无线数据传输技术取代工业控制现场有线电缆进行测控的解决方案,为恶劣坏境数据传输中存在的困扰提供了解决....
    的头像 zstel 发表于 08-17 15:51 137次 阅读
    如何利用4G DTU实现水利远程物联网监控

    物联网无线技术:物联网无线标准之比较

    蜂窝无线协议 NB-IoT 和 LTE-M 可使物联网设备以低功耗方式将数据传输到很远的地方。Sig....
    发表于 08-17 15:06 40次 阅读
    物联网无线技术:物联网无线标准之比较

    SD-WAN对于制造业物联网的重要性

    根据最近的一份报告,全球将很快安装超过3500万台物联网设备。但这与制造业有什么关系呢?类似的报告估....
    的头像 田鑫网络 发表于 08-17 14:45 28次 阅读
    SD-WAN对于制造业物联网的重要性

    Nordic推出nRF7002超低功耗双频Wi-Fi 6协同IC

    挪威奥斯陆,2022 年 8 月 16 日 ,Nordic 推出备受期待的 nRF7002 超低功耗....
    发表于 08-17 10:55 32次 阅读

    智能手机辅助µPAD检测唾液尿酸的数字量化方法

    该研究采取手机微流控纸基芯片技术对尿酸进行含量测定,利用尿酸的还原性,以铁氰化钾为氧化剂组成氧化还原....
    的头像 微流控 发表于 08-17 10:55 79次 阅读

    物联网电表有哪些作用?

    什么是物联网电表? 答:物联网电表是智能电表这个大米里面的一种,物联网电表与智能电度责区别的在于它是....
    发表于 08-17 10:31 5次 阅读
    物联网电表有哪些作用?

    机智云IoT为传统水族设备厂商推出一系列全新智能水族设备解决方案

    饲养观赏性的鱼类,是我国延续千百年的雅兴传统,色彩丰富、形态各异的鱼类如同艺术品般备受人们青睐。
    发表于 08-17 10:26 35次 阅读

    小数据时代嵌入式工程师面临新挑战

      嵌入式数据安全带来的核心工程挑战与功能安全带来的挑战基本相同。这些问题可以通过适当的知识、风险评....
    的头像 星星科技指导员 发表于 08-17 10:07 52次 阅读

    嵌入式内存系统方案

      但是存储在设备上的数据很可能最终会在企业的其他地方——私人的或公共的。趋势是在嵌入式设备上本地执....
    发表于 08-17 10:02 52次 阅读
    嵌入式内存系统方案

    慧翰股份荣获国家级“专精特新“小巨人”企业称号

    近日,福建省工业和信息化厅公布了第四批专精特新“小巨人”企业名单,慧翰微电子股份有限公司(以下简称“....
    的头像 慧翰微电子 发表于 08-17 09:58 204次 阅读

    冰上的大数据

      虽然 SDS 等存储管理技术有助于为有价值的业务分析奠定基础,但它们还确保财务和计算资源可用于定....
    的头像 星星科技指导员 发表于 08-17 09:40 147次 阅读

    开放式加速标准如何推动安全关键型发展

      嵌入式产品中越来越多地使用计算、视觉和推理加速的集成带来了重大的新商机,Khronos 正在开发....
    的头像 星星科技指导员 发表于 08-17 09:21 44次 阅读
    开放式加速标准如何推动安全关键型发展

    Wi-Fi技术提供强大的物联网优势

      “Wi-Fi 6 现在还可以支持工业用例的许多要求,增强延迟、确定性和功率效率。在智能工厂中,W....
    的头像 星星科技指导员 发表于 08-17 09:18 162次 阅读

    元宇宙的特点有哪些

    元宇宙的特征。有几个功能将添加到元宇宙。元宇宙是一个全新的概念,它采用了伟大的技术。此外,元宇宙背后....
    的头像 tyhrvrar 发表于 08-16 17:39 163次 阅读

    嘉兴经济技术开发区第四届创新创业大赛城市海选赛圆满收官

    2022年8月9日,“追梦长三角,智慧赢未来”嘉兴经济技术开发区、嘉兴国际商务区第四届创新创业大赛经....
    的头像 时代新热点资讯 发表于 08-16 15:43 272次 阅读
    嘉兴经济技术开发区第四届创新创业大赛城市海选赛圆满收官

    电源管理电路的结构

    电源管理电路在智能手机中有着至关重要的作用,从组成结构上来看,电源管理电路主要由电源管理芯片、充电控....
    发表于 08-16 14:17 52次 阅读
    电源管理电路的结构

    MobPush iOS端SDK API推送配置方法

    MobPush是MobTech推出的一款免费的推送服务工具,集成方便简单快捷,且提供完整的可视化数据....
    的头像 MobTech科技派 发表于 08-16 12:17 72次 阅读
    MobPush iOS端SDK API推送配置方法

    中寰卫星签约齐齐哈尔 促进数字经济高质量发展

    近日,在2022世界5G大会期间,智能网联科技服务企业中寰卫星参加了齐齐哈尔市数字经济项目集中签约仪....
    发表于 08-16 11:12 47次 阅读

    Pantavisor Linux为系统带来容器可移植性和敏捷性

      Pantavisor Linux 将您的固件、操作系统、网络和板级支持包 (BSP) 容器化,使....
    的头像 星星科技指导员 发表于 08-16 09:52 46次 阅读

    广和通NB-IoT模组MC907-CN与MC925-CN中标中国电信

    中国电信正式公布定制版NB-IoT模组产品招募结果,广和通NB-IoT模组MC907-CN与MC92....
    的头像 广和通FIBOCOM 发表于 08-16 09:33 126次 阅读

    RISC-V设计的基本安全协处理器

      为了保护 IoT 应用程序,PUFsecurity 利用芯片指纹技术来强化信任根,并开发了 PU....
    发表于 08-16 09:31 65次 阅读
    RISC-V设计的基本安全协处理器

    物联网模组厂商爱联科技终止上市!拟募资4.41亿扩建及研发WiFi6等模组

     电子发烧友网报道(文/刘静)近日,四川一家物联网模组企业宣布撤回创业板上市申请。这家企业是爱联科技....
    的头像 Tanya解说 发表于 08-16 07:52 498次 阅读
     物联网模组厂商爱联科技终止上市!拟募资4.41亿扩建及研发WiFi6等模组

    使用MineDojo构建具有一般能力的人工智能代理

      该关联分数可以作为奖励信号提供,以指导强化学习代理完成任务。对于示例任务“剪一只羊以获得羊毛”,....
    的头像 星星科技指导员 发表于 08-15 17:10 108次 阅读

    电子系统设计的模块化

      开发人员现在可以访问面向云的软件模块和工具,这些模块和工具可轻松与常见的网络堆栈和 RTOS 实....
    的头像 星星科技指导员 发表于 08-15 16:57 97次 阅读

    使用NVIDIA Merlin库构建基于会话的建议

      推荐系统可以帮助您发现新产品并做出明智的决策。然而,在许多依赖于推荐的领域,如电子商务、新闻和流....
    的头像 星星科技指导员 发表于 08-15 16:33 152次 阅读
    使用NVIDIA Merlin库构建基于会话的建议

    基于物联网设计的树莓派智能能源监控器

    在今天的教程中,我们将构建一个能够获取能耗并上传到 Adafruit.io的Raspberry Pi....
    发表于 08-15 16:24 80次 阅读
    基于物联网设计的树莓派智能能源监控器

    电离层是如何影响我们的定位的呢?

    GNSS卫星信号在穿过电离层时,其传播速度和方向都会发生改变,也就产生了电离层误差,主要体现为定位精....
    的头像 司南导航技术前线 发表于 08-15 16:12 122次 阅读

    蓝牙2.4G芯片PHY6252在智慧照明的应用

    作为照明灯控的核心技术,BLE mesh已经成为PHY62家族的标配。
    的头像 SALE20 发表于 08-15 16:00 115次 阅读
    蓝牙2.4G芯片PHY6252在智慧照明的应用

    石墨烯生物传感器可检测人体感染或癌症等疾病微量生物标志物

    基于石墨烯的紧凑型生物传感器有望检测到潜在的人体疾病或感染源的单分子。
    发表于 08-15 15:39 105次 阅读

    了解SOK的原理

      以上就是 SOK 将数据并行转化为模型并行再转回数据并行的过程,这整个流程都被封装在了 SOK ....
    的头像 星星科技指导员 发表于 08-15 15:22 48次 阅读
    了解SOK的原理

    开源Zephyr和MCUboot堆栈中的26个缺陷

      一般来说,当嵌入式设备和用于构建物联网设备的相关组件的设计者和制造商认真对待安全性时,物联网设备....
    的头像 星星科技指导员 发表于 08-15 15:12 72次 阅读
    开源Zephyr和MCUboot堆栈中的26个缺陷

    MicrosoftWPF功能丰富的图表控件

    通过47 个示例应用程序探索GoXam 的可能性。我们创建了许多常见的图表类型作为您的应用程序的起点....
    的头像 lhl545545 发表于 08-15 15:12 53次 阅读

    并非所有开发板都是平等创建的

      第三个要求很重要,因为设计师经常需要自谋生路。他们得到了一个开发工具包,然后被期望完全自行设计。....
    的头像 星星科技指导员 发表于 08-15 14:47 48次 阅读

    使用工业SMARC套件加速原型设计和开发

      当从原型转向生产时,团队可以使用 I-Pi 载体的开源规范作为起点,创建自己的载体,只包含所需的....
    的头像 星星科技指导员 发表于 08-15 14:24 49次 阅读
    使用工业SMARC套件加速原型设计和开发

    为什么物联网会吞噬嵌入式RTOS

      有很多问题和很少的答案,但有很多值得思考的地方。我不相信 RTOS 是控制物联网设备开发的关键—....
    的头像 星星科技指导员 发表于 08-15 11:48 222次 阅读

    为您的物联网系统开发制定正确的路线

      最重要的是,从设计一开始就做出正确的选择,以后会得到回报,特别是如果你使用开源的话。无论是复杂的....
    的头像 星星科技指导员 发表于 08-15 11:45 207次 阅读

    从芯片组保护物联网

      物联网设备安全已成为当今物联网的一项关键要求。利用新工具和开发套件有助于减少学习曲线和开发时间。
    的头像 星星科技指导员 发表于 08-15 11:16 245次 阅读

    STM Nucleo-68无线开发板和USB加密包

    STM32WB 芯片可以在各种不同的 IDE 中在 Windows、Linux 或 macOS 中进....
    的头像 星星科技指导员 发表于 08-15 11:14 51次 阅读

    嵌入式开源软件的十大陷阱

      最后,商业 RTOS 开发人员面临的竞争压力提供了继续投资于识别和满足客户需求的动力。这种基本的....
    的头像 星星科技指导员 发表于 08-15 10:55 178次 阅读

    通过开源开发板和社区实现物联网设计的民主化

      这些平台有助于以前所未有的速度将物联网解决方案推向市场。由于开源技术和供应商网络提供对组件、套件....
    的头像 星星科技指导员 发表于 08-15 10:37 303次 阅读

    CH582M函数api原型在哪里?

    如题,extern UINT32 FLASH_EEPROM_CMD( UINT8 cmd, UINT32 StartAddr, PVOID Buffer, UIN...
    发表于 08-15 06:03 39次 阅读

    触景无限科技荣膺最新一批国家级专精特新“小巨人”企业称号

    近日,北京市经济和信息化局公布了第四批专精特新“小巨人”企业名单,触景无限科技(北京)有限公司荣膺最....
    发表于 08-14 12:01 67次 阅读

    如何让外资投资助力印度发展制造业

    不过该消息目前在印媒采访印度政府高级官员口中被否认,并表示当前印度政府没有限制中国手机品牌在印度市场....
    的头像 电子发烧友网 发表于 08-14 09:54 126次 阅读

    有方科技第十一届“有方杯”西电赛区正式鸣锣

    继6月29日2022第十一届“有方杯”物联网创客大赛在桂林电子科技大学分赛区开赛后,8月10日,第十....
    发表于 08-12 21:03 244次 阅读

    自连通信模组物联网关键底层硬件

    通信模组是满足不同应用场景下物联网智能终端设备的联网需求的核心部件,是智能终端与物联网之间的连接纽带....
    的头像 自连科技 发表于 08-12 18:58 138次 阅读

    如何利用ESP8266实现自动物联网鸡蛋孵化器的设计

    基本上,它类似于孵化器的类型,可以替代家禽,自动孵化鸡蛋。通过将温度和湿度等物理量保持在要求的水平,....
    的头像 科技观察员 发表于 08-12 15:01 241次 阅读
    如何利用ESP8266实现自动物联网鸡蛋孵化器的设计

    润和软件与九联科技达成战略合作

    近日,江苏润和软件股份有限公司(以下简称“润和软件”)与广东九联科技股份有限公司(以下简称“九联科技....
    的头像 润和软件 发表于 08-12 14:09 150次 阅读

    什么是nb物联网水表

    NB-IoT物联网水表是现在市面上较为受人欢迎一种水表,根本原因是其低资费、数据信号稳定的优点获得了....
    的头像 汤姆0 发表于 08-12 11:46 322次 阅读
    什么是nb物联网水表

    基于Linux的物联网设备的安全案例

      您可以通过下载内核版本的补丁来实现 grsecurity,然后使用补丁实用程序将补丁更改应用到内....
    的头像 星星科技指导员 发表于 08-12 11:13 277次 阅读

    解锁物联网开发的开源硬件和软件关键

      最重要的是,开源软件、开放硬件标准和规范的使用以及对标准化工作的行业支持对于互操作性、支持更快速....
    的头像 星星科技指导员 发表于 08-12 11:03 105次 阅读
    解锁物联网开发的开源硬件和软件关键

    求助,请问CH573有没有API可以直接读取当前蓝牙的连接状态?

    请问CH573有没有API可以直接读取当前蓝牙的连接状态?就是判断出当前蓝牙是处于连接状态还是处于非连接状态   ...
    发表于 08-12 07:30 98次 阅读

    为ESP32构建一个物联网屏蔽板

    描述 ESP32 物联网屏蔽板 在这个项目中,我们将向您展示如何为 ESP32 构建一个 IoT shield PCB 和一个 Web 服务...
    发表于 08-12 06:37 1562次 阅读

    CH573做主机的示例程序,是否可以将从机广播名字也扫描出来 ?

    CH573做主机的示例程序,我们扫描从机时可以将从机扫描到的mac地址打印出来 是否可以将 从机广播名字也扫描出来 是否有示例...
    发表于 08-11 07:20 54次 阅读

    请教一下ch573f central例程是否有请求mtu的api?

    如题 做主机 是否提供API主动修改mtu大小,  没有找到。谢谢。    ...
    发表于 08-11 07:18 43次 阅读

    自制d-diot多用途物联网pcb

    描述 d-diot 多用途物联网 pcb 这种小型 PCB (55×35) 天生就是一个通用解决方案,用于构建任何类型的紧凑型无线电池供电...
    发表于 08-10 07:22 520次 阅读

    继电器控制物联网的方法

    描述 MySwitch(继电器控制物联网) 使用互联网控制家用电子产品。我们使用 wemos d1 mini 作为主控。 对于编程(源...
    发表于 08-08 06:37 476次 阅读

    CC2541工程移植过程中出现一些api找不到对应替代API要怎么处理?

    osal_snv_write( BLE_NVID_USER_ID_START,sizeof(Device_Info),&Device_Info) tmos_snv_read( BLE_N...
    发表于 08-05 07:23 48次 阅读

    ESP32物联网开发板

    描述 ESP32 IOT 彩色 CoinCell 这款 ESP32 物联网开发板具有加速度计、80x160 像素 0.96" 彩色 TFT ...
    发表于 08-02 06:13 730次 阅读

    nv区连接管理api不生效如何解决?

       uint8 bond_cnt=0;     uint8_t buf[6];     uint16_t a=GAPRole_GetParameter(GAP...
    发表于 07-29 06:28 100次 阅读