首页 > 其他分享 >怎么做接口自动化测试

怎么做接口自动化测试

时间:2024-02-18 18:33:05浏览次数:41  
标签:集成 Apipost 接口 测试 自动化 Jenkins

在分层测试的“金字塔”模型中,接口测试属于第二层服务集成测试范畴。相比UI层(主要是WEB或APP)自动化测试而言,接口自动化测试收益更大,且容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。

 

为了让大家更好地了解接口自动化测试本篇文章以下列三个方面介绍接口自动化测试

1、什么是接口自动化测试

2、接口自动化测试要素

3、常用的落地方案

接口自动化测试是什么

接口自动化测试,顾名思义,是指通过编写脚本或使用专业工具,对应用程序的接口进行自动化测试,从而验证接口的正确性和稳定性。接口是软件系统中不同组件或模块之间交互的桥梁,其质量和稳定性直接关系到整个系统的运行效果。

接口自动化测试的核心优势

提升测试效率与准确性:接口自动化测试能够迅速、准确地执行大量测试用例,避免因人为操作而产生的错误或遗漏。这不仅缩短了测试周期,还提高了测试的质量。

降低人力成本:自动化测试使得测试人员可以从繁重的重复性工作中解脱出来,专注于更高层次的测试任务,如测试策略制定、缺陷分析等,从而提高了工作效率。

确保测试的一致性与可重复性:由于测试脚本是预先编写好的,每次执行都会按照相同的步骤和要求进行,这保证了测试的一致性和可重复性。

提高测试的稳定性与可靠性:自动化测试减少了人为因素的干扰,从而降低了测试过

程中可能出现的异常情况。

优化回归测试:每当代码发生变更或添加新功能时,自动化测试可以快速重新运行测试用例,确保没有引入新的缺陷。

接口自动化测试的实施流程

了解业务需求与评估可行性:在开始自动化测试之前,需要深入了解业务需求,评估测试的可行性和范围。

制定测试方案与选择工具:根据具体的业务需求,确定最合适的测试方案并选择相应的测试工具。

需求分析与API文档评审:对业务需求进行细致分析,并对API文档进行评审,确保测试的全面性和准确性。

编写测试计划与用例:制定详细的测试计划,并设计覆盖所有关键接口的测试用例。

准备测试数据并执行测试:准备充足的测试数据,并使用自动化测试工具执行测试用例,记录测试结果。

结果解析与报告生成:对测试结果进行解析,生成详细的测试报告,并反馈给开发团队和测试团队。

持续集成与自动化触发:将自动化测试集成到持续集成流程中,确保每次代码变更都能自动触发测试,并生成相应的测试报告。

目前接口自动化测试

基于工具的接口自动化测试通常使用一些成熟的测试工具或框架来实现。以下是几种常见的基于工具的接口自动化测试方案:

Postman+Newman+git+Jenkins:Postman是一种常用的接口测试工具,可以发送HTTP请求并查看响应。Newman是Postman的自动化测试插件,可以用于运行和组织测试用例。git是版本控制工具,用于管理测试用例和脚本。Jenkins是一个持续集成工具,可以用于自动化构建、测试和部署。

JMeter+Ant+git+Jenkins:JMeter是另一种常用的接口测试工具,可以用于测试Web服务和API的性能。Ant是一种构建工具,可以用于自动化测试和构建过程。git和Jenkins同样用于管理和自动化测试流程。

RunnerGo:RunnerGo 是一款全栈测试平台,支持性能测试、接口自动化、UI自动化测试等功能,RunnerGo内置定时任务,邮件通知、第三方通知等功能,无需集成其他工具即可完成接口自动化测试。

 

使用Apipost做接口自动化测试

 

Apipost是一款支持团队协作的的接口调试工具,集成了Postman、Swagger、JMeter和Mock等功能,使用Apipost+Apipost-Cli+Jenkins即可组成一站式的接口自动化测试链。Apipost-Cli是Apipost的持续集成工具,与Jenkins集成实现自动化测试。

 

Apipost 自动化测试支持「持续集成」功能,在安装了Apipost的服务器中输入命令,即可运行测试脚本。

 

创建自动化测试脚本

 

在创建好的测试用例中选择「持续集成」。

 

点击新建,配置运行环境、循环次数、间隔停顿后点击保存会生成命令。

 

安装 Apipost-cli

npm install -g apipost-cli

运行脚本

安装好Apipost-cli后,在命令行输入生成的命令,即可执行测试用例,运行完成后会展示测试进度并生成测试报告。

 

 

Jenkins配置

Apipost cli基于Node js运行 需要在jenkins上配置NodeJs依赖

Step1:在插件管理中安装NodeJs

 

 

在全局工具中配置NodeJs和包名apipost-cli

 

配置到Jenkins

我们可以将创建好的CLI脚本部署到Jenkins中去持续集成进行测试。

Step1:新建一个任务Apipost-test

点击新建任务,输入任务名称,选择创建一个自由风格的软件项目,点击确定

  

Step2:构建步骤

然后在构建栏目下拉菜单选择:Excute Windows batch command

 

Step3:在构建环境中设置Node信息

 

Step4:在命令窗口中,输入Apipost的执行命令,设置完成后,点击保存

 

保存好设置后,开始构建项目,点击立即构建,开始执行项目,执行完成后可以在控制台输出中查看结果。

 

标签:集成,Apipost,接口,测试,自动化,Jenkins
From: https://www.cnblogs.com/meimaodachong/p/18019776

相关文章

  • 常用的MODBUS协议测试工具推荐
    介绍一些常用的MODBUS测试工具。1、ModscanModscan是一款免费的MODBUS测试工具,支持ModbusRTU和TCP和ASCII协议。它可以进行单点和多点的读写操作,并且可以生成MODBUS协议相关的报告。还支持模拟器模式,使用户可以通过虚拟设备对ModBus进行测试。2、CASModbusS......
  • 性能测试的主要术语
    软件性能的几个主要术语1、响应时间:对请求作出响应所需要的时间网络传输时间:N1+N2+N3+N4应用服务器处理时间:A1+A3数据库服务器处理时间:A2响应时间=N1+N2+N3+N4+A1+A3+A22、并发用户数的计算公式系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是5000个,......
  • 性能测试:实际性能测试场景
        ......
  • stm32芯片的SPI接口调试总结之轮询模式
    一概念1组成SPI系统可直接与各个厂家生产的多种标准外围器件接口,它只需4条线:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效的从机选择线(NSS)。(1)MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数......
  • PaddleNLP命名实体识别环境搭建&推理测试
    引子最近手上接了一个活儿,基于文本语料的实体抽取任务,调研了一圈发现目前开源轮子做的比较好的也就是PaddleNLP(大模型那种巨废资源,且幻觉严重的,不予考虑)。OK,那就让我们开始吧。一、命名实体识别概念命名实体识别(NamedEntitiesRecognition,NER)是自然语言处理的一个基础任务。其......
  • 100 行代码实现用户登录注册与 RESTful 接口 - 手把手教程附 Python 源码
    在开发大多数应用时,用户系统都是必不可少的部分,而我们总是需要开发围绕用户的登录,注册,获取,更新等接口。在这篇文章将带你用一百多行代码简洁地实现一套这样的用户鉴权与RESTful接口,并使用Session来处理用户的登录登出我们将使用UtilMeta框架完成接口开发,这是一个开源的Py......
  • 【测试运维】性能测试经验文档总结第3篇:VuGen详解(已分享,附代码)
    本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数...),性能测试工具选择。性能脚本:1.LoadRunner介绍,2.脚本录制、运行、参数化,3.关联、检查点、事务......
  • 【测试运维】性能测试经验文档总结第3篇:VuGen详解(已分享,附代码)
    本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数...),性能测试工具选择。性能脚本:1.LoadRunner介绍,2.脚本录制、运行、参数化,3.关联、检查点、事务......
  • 2024初三年后集训模拟测试1
    前言总分\(310\)\(T1~100\)\(T2~100\)\(T3~50\)题解方法属实巧妙,考场上想到了枚举平均值和前缀和,但没想到满足\(sum_{l-1}=sum_r\)(见下面题解)。\(T4~60\)离谱题:存在多组可能的解,输出满足条件的一组解即可。评测方式:文本比较。没有\(special~judge\)......
  • 2024初三集训模拟测试1
    2024初三集训模拟测试1\(T1\)edit\(100pts\)字符串模拟即可。貌似不能写成while(cin>s),因为每两个单词中可能不只有一个空格。点击查看代码strings;intmain(){ freopen("edit.in","r",stdin); freopen("edit.out","w",stdout); getline(cin,s); cou......