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

    文章

    18631

    浏览量

    184195
  • 物联网
    +关注

    关注

    2932

    文章

    46349

    浏览量

    394241
  • API
    API
    +关注

    关注

    2

    文章

    1661

    浏览量

    64217
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    京东API会员积分自动化,忠诚度提升30%!

    在当今激烈的电商竞争中,提升用户忠诚度是企业制胜的关键。京东作为中国领先的电商平台,通过引入API驱动的会员积分自动化系统,成功实现了忠诚度飙升$30%$的惊人成果。本文将逐步解析这一
    的头像 发表于 07-30 14:50 ?129次阅读
    京东<b class='flag-5'>API</b>会员积分<b class='flag-5'>自动化</b>,忠诚度提升30%!

    自动化测试平台ATECLOUD推出AI算法功能

    作为纳米软件自主研发的自动化测试平台,ATECLOUD 始终致力于为用户提供高效优质的测试解决方案。面对5G、AI等前沿技术的迭代发展,平台深度融合新技术持续升级测试能力,最新推出的A
    的头像 发表于 07-22 16:10 ?139次阅读
    <b class='flag-5'>自动化</b><b class='flag-5'>测试</b>平台ATECLOUD推出AI算法功能

    API如何赋能电商营销:自动化促销活动生成

    ? 在电子商务的激烈竞争中,营销效率直接决定企业的成败。传统促销活动依赖手动操作,耗时费力且响应滞后。而应用程序接口(API)的出现,为电商营销带来了革命性变革。本文将深入探讨API如何通过自动化
    的头像 发表于 07-16 10:44 ?66次阅读
    <b class='flag-5'>API</b>如何赋能电商营销:<b class='flag-5'>自动化</b>促销活动生成

    车机交互测试自动化实现路径与案例分析

    测试设备是车机交互测试自动化实现的核心支撑,通过合理选型、部署和应用北京沃华慧通测控技术有限公司汽车测试设备,结合科学的
    的头像 发表于 07-10 09:24 ?741次阅读
    车机交互<b class='flag-5'>测试</b><b class='flag-5'>自动化</b><b class='flag-5'>实现</b>路径与案例分析

    APP自动化测试框架

    APP自动化测试框架是一套结合工具链、设计模式和技术规范的集成解决方案。以下是基于主流技术实践的核心要点总结: 一、核心模块构成 环境管理? 支持物理机/虚拟机/容器部署,集成ADB
    的头像 发表于 05-07 07:35 ?190次阅读
    APP<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>框架

    矢量信号发生器在工业自动化测试中的应用场景

    矢量信号发生器在工业自动化测试中的多个应用场景。 ? 一、通信模块测试 在工业自动化系统中,通信模块是实现设备间信息交互的关键部件。为了确保
    的头像 发表于 03-26 14:10 ?381次阅读

    基于 Docker 与 Jenkins 实现自动化部署

    优化,为 Docker 容器应用与 Jenkins 自动化流水线提供了理想的运行环境。无论是快速构建、测试还是部署,Flexus X 都能确保流程顺畅无阻,大幅提升软件开发与交付效率。立即拥抱华为云
    的头像 发表于 01-07 17:25 ?556次阅读
    基于 Docker 与 Jenkins <b class='flag-5'>实现</b><b class='flag-5'>自动化</b>部署

    DevSecOps自动化在安全关键型软件开发中的实践、Helix QAC&amp;amp; Klocwork等SAST工具应用

    DevSecOps自动化旨在通过在软件开发生命周期的各个阶段集成安全流程,使用自动化工具和最佳实践来简化开发、安全和运营。实现DevSecO
    的头像 发表于 01-03 16:05 ?499次阅读
    DevSecOps<b class='flag-5'>自动化</b>在安全关键型软件开发中的<b class='flag-5'>实践</b>、Helix QAC&amp;amp; Klocwork等SAST工具应用

    通用自动化测试软件 - TAE

    INTEWORK-TAE(Test Automation Executor) 是一款通用的测试用例自动化执行框架,用于汽车电子自动化测试,可支持仿真( MIL/SIL/HIL)、故障注
    的头像 发表于 01-02 13:42 ?812次阅读
    通用<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>软件 - TAE

    串口屏自动化测试

    严谨而高效的自动化测试方案显得尤为重要。以下是对串口屏自动化测试策略的深度解析,旨在通过高质量的测试设计,严格控制产品设计质量,推动产业升级
    的头像 发表于 12-27 17:17 ?1498次阅读

    LMX2595EVM如何实现自动化控制?

    我需要用LMX2595EVM实现自动化控制,请问那里有LMX2595EVM相关的sdk接口文档或者Demo?
    发表于 11-13 06:09

    Appium +iOS自动化测试教程(实践、总结 、踩坑)

    的使用都不太熟悉,花了大概一周时间粗略的看下ios开发知识,网上随手下载的来源于这两本《iOS开发从入门到精通.pdf》、《iOS开发指南:从零基础到App上架.pdf 》、至于Mac笔记本的学习完全是边使用边查询操作 ;本文完全秉着指导小白操作的流程带你一步一步搭建IOS自动化
    的头像 发表于 11-11 09:42 ?5088次阅读
    Appium +iOS<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>教程(<b class='flag-5'>实践</b>、总结 、踩坑)

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

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

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

    开关电源自动化测试设备是将测试软件和测试硬件集成在一个电源测试柜中的ate自动测试设备,其
    的头像 发表于 08-30 18:19 ?1867次阅读
    开关电源<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>?

    XLT高速线缆自动化测试系统

    高速线缆自动化测试系统 随着高速通信的快速发展,对于高速数据通信线缆性能要求日益增高,在其硏发、生产阶段,需要多次测试射频性能。传统人工手动测试存在
    的头像 发表于 08-05 16:39 ?721次阅读