如何搭建一个自己的接口自动化测试平台

article/2025/9/22 20:58:38

0、实现方式

  • 后端:java
  • 前端:vue+element-ui
  • mock:mock-server
  • 其它:redis

感谢大家的莅临,小编在文章末尾为大家准备了一些福利,需要的可以获取哦。

1、数据构建

​ 我们在测试过程中发现测试数据的构建非常重要。如测试数据需要有真实性、唯一性、A 接口依赖 B 接口的返回值。目前通过提供环境变量、方法反射、接口依赖、SQL 依赖等方式提供数据,通过 ${}表达式引用。

1、环境变量

​ 最简单的一种方式,key-value 方式

2、预置方法

​ 通过反射的方式,动态调用预置的数据构造方法

3、SQL 语句

​ 为保证数据在不同环境的通用性,首先需实现数据源模块,这样可以保证在不同环境下执行用例连接到不同的数据库

4、接口依赖

​ 选择已有的测试用例,提取响应头或者响应体数据

2、接口测试

2.1、测试用例

支持编写、导入(har、json、yaml 等)、复制、生成

2.2.1、编写

前置用例:支持在执行用例前执行其他测试用例

基本信息:主要是关联项目及模块

请求信息:配置请求方式、URL、headers、params、body

请求参数缓存:将请求参数中的 headers、params、form-data、json 对其进行暂存。可通过 #{}操作符调用

断言信息:支持多种断言方式及操作符

响应数据缓存:将响应内容的 headers、body 进行暂存。可通过 #{}操作符调用

可以看到可配置缓存请求参数以及响应数据,有何作用呢?举个简单栗子:如在测试用户详情接口,我们入参为 userId,断言需对响应体结果逐一校验,这就需要用到入参的 userId

----------------------------------------------------------------------------------------------------

1.缓存 URL 参数 userId

2.准备检查 SQL,依赖名称为 SelectUserInfoById

3.断言检查接口返回值 username、realName 字段

4.执行日志

----------------------------------------------------------------------------------------------------

2.2.2、生成

目前项目约束了一套规则配置,配置后,可根据等价类、边界值为每个属性生成约束,最终根据正交法或笛卡尔积生成完整的测试用例。同时为了保证数据的可重复性,数据类型支持动态数据,如用户注册时,可保证当前生成的 username 在数据库中不存在。

为有效等价类用例和无效等价类用例,单独配置通用断言

动态生成结果(用例可复用)

静态生成结果

2.2.3、导入

目前支持了 har、json、yaml、csv、excel 方式导入。另外,可在导入时将用例加入测试套件

2.2、用例执行日志

用例执行日志将记录用例的执行情况,断言信息,方便排错。同时,加入执行链路跟踪,使用例整体运行情况更加清晰。

可以通过点击查看未解析依赖值之前的原始语法

一次 “获取用户详情” 用例完整的链路跟踪

2.3、测试套件

测试套件与测试用例之见为 N 对 N 关系。你可以

在测试套件执行之前:为套件执行依赖、添加通用 headers、params、form-data

在测试套件执行之后:为套件执行依赖

测试套件通过并行的方式大幅提升测试效率。当然测试套件中用例同样提供执行先后顺序的设定

可以方便快捷的维护套件内的用例

通过并行的方式,在 1s 不到的时间内执行了 24 条测试用例

2.4、测试报告

在测试套件执行后,将生成测试报告。统计基本运行情况及详细的请求信息

2.5、其他设置

1.定时任务:可为测试套件制定定时任务

2.设置代理:便于调试及监控

3.超时配置:防止超时阻塞

3、稳定性测试

平时可能会对一些接口进行稳定性测试,因此特意支持按执行时长和执行次数两种调度方式。同时将保留执行日志

4、mock

mock 基于开源 mock 框架 mock-server。关于这一块,在我之前的帖子可以看到,在此不再赘述,目前主要实现的功能点有:

  • 多节点:可满足不同人员对于相同接口的配置
  • 动态注入:运行时注入/启停 mock-server、mock-api,无需启停服务
  • 可视化报告:由 mock-server-ui 提供
  • 丰富的命中策略:支持 header、body、queryparams、pathparams
  • 支持自动转发:在未命中 mock-api 时支持自动转发真实服务
  • 支持响应延时配置

福利:关注公众号领取

 


http://chatgpt.dhexx.cn/article/l6oIi4hB.shtml

相关文章

6 个常用的 API 接口在线管理平台

点击关注公众号,架构干货及时送达 上一篇:腾讯开发团队又一开源利器发布! 1.EOLINKER(推荐)可以协作,界面简洁 地址:https://www.eolinker.com/#/?statuslink-jump 2.RAP(前阿里妈妈…

接口管理平台YApi坑死我了(超级详细实操教程) - 421篇

历史文章(累计400篇文章) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 你真的学会了Lambda表达式了吗&#…

API接口开放平台

近期服务器不想在维护了,接口已经陆续开放 服务器也经常奔溃,一分价钱一分货 忠告:出了事情要学会使用法律武器保护自己 主要推荐初步入门学习的伙伴,可以借助这些接口丰富自己的站点 API接口包括: 一、资讯 全网热…

Yapi接口平台个人总结

YApi是去哪儿移动架构组开源的API管理系统,是一款api管理平台。 一,yapi相关信息与教程 官网地址:https://yapi.ymfe.org/ 示例地址:http://yapi.demo.qunar.com/ 使用教程:https://hellosean1025.github.io/yapi …

百度ai平台接口使用记录

前一段时间在做毕业设计,打算做一些风格转换相关的项目,想自己制作一份数据集用于训练,于是发现了百度ai平台提供的api接口可以实现“人脸动漫化”、“图像风格转换”等功能。按照一定步骤操作后,只要通过post请求就可以将本地的图…

API接口管理平台源码thinkPHP

API接口管理平台源码thinkPHP 安装步骤: 1.数据库信息配置在路径【config/database.php】文件中 2.导入根目录下的【data.sql】数据库文件 3.设置网站运行目录为根目录【public】 4.目录 后台地址 /admin/login.html 账户 admin 密码 123456 测试截图 后台截…

通用接口开放平台设计与实现——(2)功能架构

前面说过,接口开放平台主要有两部分功能组成,一是处于主体地位的API接口,对外提供数据服务;二是处于辅助角色的消息服务,用于通知数据变动。 实际上,客观上还需要平台自身管理功能,来维护平台的…

接口测试平台(一)

需求描述: 测试的项目使用内部加密的算法,普通的接口测试测试工具(Jmeter/PostMan/HttpRequest)不能满足,同时满足接口的自动化测试,用例集为1个业务场景为单位进行测试。请求方式中多一种post加密,同时数据比较多结构…

2022盘点工作室常用的API数据接口开发平台

果创云 果创云(http://YesApi.cn),是一个低代码数据接口开发平台,为工作室提供“开箱即用”的数据API接口。 当工作室需要开发自己的小项目、脚本、小程序、管理后台时,可以使用果创云低代码接口平台,快速…

超强接口协作平台如何打造:细数Apifox的六把武器

前言:推荐一款免费而强大的接口协作工具,感兴趣的小伙伴儿自行前往官网尝鲜 1 关于接口协作平台的畅想 软件界发展至今,API(接口)的重要性日益凸显——不同的端,不同的模块都在通过API交互,不…

python 调用企查查接口平台

一、需求: 通过内部系统导出企业信息数据后,筛选状态为“正常”的企业数据。然后拿筛选后的企业去查询该企业的工商数据。 开始是在国家企业信息公示系统中查询,由于查询数据量过大,后改用从企查查接口平台,通过接口获…

Mock.js数据模拟,rap2、postman可视化接口平台,Vue框架的接口链接应用

前言: 作为一名前端程序员,其工作不仅仅是制作出精美的界面,实现页面之间的顺利转跳,各种交互。最主要的工作就是将后端所提供的数据通过合理地接收,应用在页面上,呈现在用户面前,从而使用户能…

IDEA开发工具整合YAPI接口平台

IDEA开发工具整合YAPI接口平台 目录 1 前提 1.1 代码规范 1.2 注释模板需统一 2 使用YapiUpload插件 2.1 下载YapiUpload插件 ​2.2 配置 2.3 idea代码中添加注释 ​2.4 idea推送到YAPI 3 使用EasyYApi插件 3.1 下载…

十大api接口平台(接口商)

一、百度api集市 1136个数据服务接口 网址:http://apistore.baidu.com/ 二、聚合 144个数据服务接口 网址:https://www.juhe.cn/ 三、华付数据 32个实用的数据服务接口,以精准,稳定在行业立足。 网址:http://h…

统一接口平台

1产品介绍 前端应用系统通过统一接口平台获取数据,不直接与外部系统接口打交道。统一接口平台通过多种方式与外部系统联接获取数据并向各前端应用系统提供各种数据格式包,将外部系统有效地隔离在业务系统之外。前端应用系统需要请求的外部接口需要在统一…

接口开放平台,我的一些思考

1. 概述 接口开放平台,为访问者提供统一的URL作为唯一访问入口,参数中指定具体接口标识和接口参数。它的优点包括接口规范性、效率、管理能力。接口开放平台可以分为简单的和复杂的两种方式。简单的接口开放平台,由自身提供接口实现。复杂的…

通用接口开放平台设计与实现——(1)开篇

首先简单聊下背景,大概是几年前,工作中遇到这么一个复杂的应用场景,大型企业中的物流系统,需要跟众多的内外部系统交互,对接的系统达到十几个,接口数量在50个左右,并且后续还会大量增加新的对接…

六大接口管理平台,总有一款适合你的!

前后端分离绕不开的接口测试 先聊一聊前端和后端分离的优点。前后端分离优点如下: 真正的实现前后端解耦,前端服务器使用 nginx;易于发现bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象;减少后端服…

2022中国十大API接口服务平台排行榜(推荐五颗星)

Api接口也就是所谓的应用程序接口,api接口的全称是Application Program Interface,通过API接口可以实现计算机软件之间的相互通信,开发人员可以通过API接口程序开发应用程序,可以减少编写无用程序,减轻编程任务&#x…

python基础教程:startswith()和endswith()的用法

startswith()方法 Python startswith() 方法用于检查字符串是否是以指定子字符串开头如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。str.startswith(str, beg0,endlen(string)); 参数 str --检测的字符串。strbeg …