基于Skills的接口自动化测试方案|新增 MySQL 断言,实现接口 + 数据库双校验

哈喽,我是 Raina。

上篇我们讲了基于Skills的接口自动化测试方案,新增多接口串联自然语言场景用例的实现思路,实现了从 "单接口测试" 到 "完整业务流程自动化" 的升级。感兴趣的可以看下这篇文章:

但在实际使用中,还存在一个很常见的痛点:断言能力单一,不支持 MySQL 数据库校验,无法覆盖数据层结果验证。

所以我在这个方案也优化新增了一个核心能力:AI 自动连接 MySQL,执行 SQL 断言,做到接口返回校验 + 数据库数据校验双保险,提高测试结果的准确性。

数据库断言的核心作用

在接口自动化里,接口调用成功、返回参数正常,不代表后台数据一定正确入库。有可能接口提示成功,但数据库没新增、没更新、字段值不对、状态流转异常等问题。

数据库断言的作用:

  • 执行完接口用例后,自动执行 SQL 查询
  • 自动对比库中数据是否符合预期
  • 实现:接口返回 + 数据库数据双重校验
  • 彻底避免:业务成功、数据不对的 "假成功"

比如:新增订单后,校验订单表是否生成对应记录、订单状态是否正确;编辑信息后,校验数据库字段是否同步更新;删除后校验数据是否已置为失效或删除。

这也是企业级接口自动化必须具备的稳定性能力。

本方案的Mysql断言整体逻辑

实操全流程

1、Skill&项目&依赖安装

本方案整体Skills 如下:

导入 Raina提供的 skill 包合集到 AI 工具里面(cursor或claude code等都支持的)

2、生成接口文档

如果已经有接口文档的话,就不需要执行该 skill,本skill 的目的是基于已有的项目代码,生成接口文档

生成的接口文档如下:

3、生成项目配置

输入:

输出:config/.env 文件

内部文件可以看到,DB断言配置信息:

DB_ASSERT_ENABLED,该字段指的是是否开启db断言处理,默认为 false,

如果我们需要进行db断言处理的话,要开启db断言处理以及填写相关信息

4、自然语言场景用例生成

输入:

输出:自然语言场景用例json文件

5、测试用例生成

输入:

执行该步骤的时候,会去判断config/.env文件中的属性:DB_ASSERT_ENABLED=true

如果数据库信息配置成功,那么该skill则会先去拉取数据库表结构,用于db断言

产出db_schema.json文件

在生成完表结构文件后,AI会基于该文件,进行用例和db断言语句的编写

用例部分截图:

db断言语句:

6、执行用例

AI会自动执行脚本

7、生成报告

启动之后,查看结果

我们可以看到allure日志中,对sql进行了执行和校验

总结

该文章讲解如何在基于Skill实现接口自动化测试的方案中加入 MySQL 断言,实现接口 + 数据库双层验证,让自动化流程更严谨、更贴合企业级测试标准。截止到目前,整套方案已经实现了从「接口文档→用例生成→框架初始化→配置修改→代码生成→用例执行→Allure 报告」全流程Skill封装。

后续Raina也会持续迭代这套接口自动化Skills体系,解决更多实际应用中的痛点实战场景、配置技巧与落地避坑经验,助力大家将接口自动化真正运用到工作中,切实提升测试效率、减少重复回归工作量。

相关推荐
九皇叔叔33 分钟前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
云和恩墨39 分钟前
删库不跑路,回滚极速触达——zData S“旁路日志”持续保护原理深剖
数据库
MetaLite1 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
Wang's Blog3 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
三声三视5 小时前
75 条文章索引被一条 add 清成 1 条,退出码还是 0:tri-article 的 index.py 我读了 205 行
人工智能·ai·skill·tri-skills·tri-article
蓝速科技5 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析5 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
泡泡鱼(敲代码中)6 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
l1t6 小时前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle
冰暮流星7 小时前
mysql之表子查询
数据库·mysql