AI测试必学 | AI 赋能接口自动化测试系列(三):接口自动化测试脚本生成Agent Skill

在接口自动化测试的全流程中,脚本开发曾是最耗时、最考验技术功底的环节。人工编写脚本不仅要至少掌握一门编程语言,而且还要面对版本迭代快、用例量大的压力,还极易出现语法错误、场景覆盖不全、规范不统一等问题。
前两篇,我们已经分享了接口解析(api-schema-parser)和测试数据生成(api-testdata-generator)这两个Skill。
第一篇:api-schema-parser(接口解析)
- 输入:OpenAPI/Swagger/Postman/HAR 等接口文档
- 输出:标准化的
api_definitions.json - 成果:59个接口、10个功能模块的结构化定义
第二篇:api-testdata-generator(数据构造)
- 输入:
api_definitions.json或自然语言描述 - 输出:覆盖正向/边界/异常/安全四大维度的测试数据
- 成果:2032条测试数据,按模块自动归档
现在,我们手握两样东西:
- ✅ 结构清晰的接口定义(知道每个接口要什么、返什么)
- ✅ 覆盖全场景的测试数据(知道测什么、怎么测)
缺什么? 缺把这些东西翻译成可执行代码的"翻译官"。
因此,今天这篇来分享——如何让 AI 基于标准化的接口定义和全场景的测试数据,批量生成符合工程规范、可直接运行的接口自动化测试脚本。这是整个 AI 赋能接口自动化链路中,工程价值最高、提效最明显的一环,让测试工程师彻底摆脱重复编码的体力劳动。
一、为什么脚本生成,是 AI 赋能接口自动化的核心环节?
很多人以为,测试用例设计完成后,脚本开发就是"照着用例一条条翻译成代码"。
实际上,这是整个自动化测试体系中工程性最强、最考验技术栈深度、最消耗人力的核心环节。
传统开发模式有多痛苦?
以 shop-lab 电商项目的"用户登录"接口为例,看似简单的几步操作,当你要将其转化成自动化脚本时,你需要手动完成:
| 步骤 | 工作内容 | 耗时估算 |
|---|---|---|
| 1 | 选框架、搭环境、配依赖(Requests/Pytest/Allure) | 2-4小时 |
| 2 | 设计项目目录结构(api/testcases/data/utils/config) | 1-2小时 |
| 3 | 封装接口请求层(处理URL/Header/Body/参数传递) | 30分钟/接口 |
| 4 | 编写元素定位与请求组装(方法、路径、参数映射) | 20分钟/接口 |
| 5 | 实现等待与异常处理(超时、重试、连接错误) | 15分钟/接口 |
| 6 | 编写断言逻辑(状态码+业务码+数据字段) | 20分钟/接口 |
| 7 | 数据驱动配置(YAML/JSON参数化绑定) | 15分钟/接口 |
| 8 | 调试排错(定位失败、时序问题、环境差异) | 30-60分钟/接口 |
| 9 | 代码规范化(命名、注释、分层、去冗余) | 10分钟/接口 |
| 10 | CI/CD集成配置(Jenkins/GitLab Pipeline) | 2-4小时 |
一个接口脚本,熟练的工程师通常也要30-40分钟。59个接口就是约40小时(整整一周)。
而这还只是"写一遍"的时间。后续需求迭代、接口变更、脚本维护的成本更是指数级增长。
传统开发模式下,痛点分析
- 新手门槛高:环境搭建、语法学习、框架使用,卡住一大批想转自动化的功能测试
- 编写不规范:变量命名混乱、代码层级混乱、注释缺失、重复代码泛滥
- 调试成本高:编码只占20%时间,80%花在反复排错上
- 维护成本大:页面/接口一变更,脚本大面积失效,陷入"修脚本比测功能还耗时"的困境
- 迭代跟不上:业务已经上线,自动化脚本还没写完
这也是为什么,接口脚本生成是最迫切需要 AI 赋能的环节。
AI 赋能测试脚本开发
接口自动化脚本的本质是 “发请求→传参数→验响应”,代码范式统一,这恰恰是 AI 最擅长的 “模板化输出” 场景。
相比人工开发:
- 效率提升量级化:熟练工程师写一个接口脚本需 30 分钟,100 个接口耗时至少1~2 周;AI 批量生成仅需数分钟,效率提升超百倍;
- 规范落地标准化:人工编码易出现命名混乱、断言缺失、目录结构不统一等问题,AI 严格遵循预设规范,输出脚本风格高度一致;
- 场景覆盖全面化:人工易遗漏边界值、异常场景、安全测试等维度,AI 可基于测试数据自动覆盖正向、反向、边界、安全等全场景。
注:AI 生成脚本并非 “一劳永逸”,工程规范、业务逻辑校验仍需人工把关,但它能解决 80% 的重复工作,让工程师聚焦核心的业务与架构设计。
测试脚本开发智能生成是目前行业内 AI 自动化测试落地的核心主流场景之一:相较于复杂的测试策略设计,脚本开发标准化程度更高、落地成本更低、提效效果更直观,是企业落地 AI 测试、工程师实现效率升级的最优切入点之一。
这也是为什么,在 AI 赋能测试的实践中,脚本生成是继用例设计之后最具落地价值的场景,因为它能直接降低自动化门槛、加速脚本产出、提升工程规范性。
但 AI+Agent Skill 赋能自动化测试脚本开发,也并非万能的,同样存在短板,比如:
-
面对复杂业务联动、多场景交叉嵌套、并发测试、权限层级校验、特殊环境兼容等高难度场景,AI 生成的脚本极易出现逻辑漏洞、流程缺失、适配性不足等问题;
-
AI 不了解团队的个性化工程规范、迭代运维规则、CI/CD 集成要求,生成的脚本可能不符合项目落地标准,无法直接接入流水线。
-
AI 存在天然的内容幻觉问题,可能生成不存在的接口字段、无效的元素定位、错误的业务逻辑,或产出大量重复、冗余的无效代码;
因此,测试脚本开发环节引入 AI 辅助赋能,必须建立在完整的工程规范体系之上。AI 负责代码生成和工程模板套用,人负责业务逻辑校验和架构质量把关,形成"AI 生成初稿 → 工具初筛 → 人工审核修正 → 运行验证 → 落地执行"的闭环。
二、不要搞"万能Skill",要拆成"专业Skill"
很多新手容易踩的坑:想做一个"万能Skill",输入接口文档,直接输出完美脚本。
这里有一个非常重要的认知:千万不要寄希望于用一个 “万能 Skill” 解决所有问题。
一个技能包揽解析、造数、生成、优化、执行,会导致逻辑臃肿、维护困难、扩展受限,也违背了 Agent Skill 设计的核心思想。
正确的做法是按职责拆分,每个Skill只做一件事(如解析、生成、校验),避免功能耦合。
比如,可以这样来拆:
| Skill | 核心职责 | 解决什么痛点 |
|---|---|---|
| api-schema-parser | 接口定义结构化解析 | 人工读文档慢、易遗漏、格式不统一 |
| api-testdata-generator | 测试数据智能生成 | 人工造数重复、边界场景覆盖不全 |
| api-testscript-generator | 自动化脚本批量生成 | 人工编码慢、风格不统一、规范难落地 |
| api-test-optimizer | 脚本质量检查与优化 | AI幻觉导致脚本有错、场景缺失、健壮性不足 |
| api-test-executor(后续教程) | 脚本执行与结果复盘 | 人工执行繁琐、失败分析耗时 |
这5个Skill形成完整闭环:解析→造数→生成→优化→执行,既能串联使用,也能独立调用。
目前本系列主要是聚焦接口脚本生成阶段工作,在接口执行阶段还会根据执行阶段的工作特性,将其拆分成 5 个专业的Agent Skill来各司其职。
接口文档(Swagger/Postman/HAR 等)
│
▼
api-schema-parser ──→ 标准化接口数据 (api_definitions.json)
│
├──→ api-testdata-generator ──→ 全场景测试数据
│ │
│ ▼
│ api-testscript-generator ──→ 接口自动化脚本工程
│ │
│ ▼
│ api-test-optimizer ──→ 脚本质量检查与优化
│ │
│ ▼
│ api-test-tagger ──→ 智能标签化管理
│ │
│ ▼
│ api-test-executor ──→ 智能执行调度
│ │
│ ├──→ api-failure-diagnoser ──→ 失败诊断与自动修复
│ │
│ └──→ api-pipeline-scheduler ──→ 全链路流水线调度
│ │
│ ├── api-test-executor(执行测试)
│ ├── api-testdata-cleaner(清理数据)
│ └── api-report-generator(生成报告)
│
└──→ 也可直接进入 generator-testcase-xmind/excel 生成接口级测试用例
可以这样说,掌握了这套Agent Skill技能组合,日常接口自动化测试工作零基础的同学也能轻松搞定。
目前这套AI测试赋能的Skill技能组合,「狂师 . AI进化社」的成员都在使用,很多同学都表示,接口自动化测试落地效率明显提升了数倍,代码基础薄弱的同学也能轻松落地自动化测试了。
三、api-testscript-generator — 接口自动化测试脚本生成
技能介绍
api-testscript-generator 基于标准化接口定义与全场景测试数据,按照团队既定工程规范,批量生成符合规范、可直接运行的接口自动化测试脚本。
它不是"随便写一段能跑的代码",而是生成符合团队工程标准、可直接接入现有框架、能被其他同事理解和维护的标准化测试资产。

输入:三大核心 “原料”
要让 AI 生成符合预期的脚本,需提前准备三类输入:
- 基础原料:
api_definitions.json(由api-schema-parser解析生成的标准化接口定义); - 数据原料:
test_data/目录(由api-testdata-generator生成的全场景测试数据,含正向、边界、异常、安全数据); - 规则原料:团队定制的框架规范(目录结构、命名规则、断言策略、日志 / 异常处理要求)。
前置条件:先定规范,再让AI写
规范直接决定 AI 生成脚本的格式、结构、健壮性与可维护性。
比如框架选型:
- 语言:Python 3.9+
- 接口请求:Requests
- 测试框架:Pytest
- 数据驱动:YAML / JSON
- 报告:Allure2
- 日志:Logging
项目目录结构:
api_auto_project/
├── config/ # 环境配置、全局常量
│ ├── dev.yaml
│ ├── test.yaml
│ └── config.py
├── api/ # 接口请求层(封装所有接口)
│ └── user_api.py
├── testcases/ # 测试用例层
│ └── test_user_login.py
├── data/ # 测试数据(AI生成)
│ └── user_login_data.yaml
├── utils/ # 工具类
│ ├── logger.py
│ ├── request_util.py
│ ├── assert_util.py
│ └── token_util.py
├── reports/ # 报告输出
├── conftest.py # Pytest全局钩子
└── pytest.ini # Pytest配置
核心规范要求:
- 接口只封装在
api/层,用例只写在testcases/层,数据只放data/层 - 文件命名:小写字母+下划线,一个接口一个文件
- 类名:大驼峰(如
UserAPI、UserLoginNormal) - 测试方法:必须以
test_开头,见名知意(如test_login_success) - 变量名:小写+下划线,禁止单字母、禁止歧义缩写
- 常量:全大写+下划线,集中存放于配置文件,禁止硬编码
断言策略(每条用例至少3层):
- 状态码断言
- 业务码断言
- 业务数据断言(字段非空、关键字段匹配、长度/格式校验)
全局健壮性:
- 超时统一:30s
- 自动重试:失败重试2次
- 异常捕获:连接超时、读取超时、连接错误、代理异常、数据解析异常
- 失败重跑:Pytest重跑1次
- 脚本不中断:单个用例失败不影响整体执行
统一鉴权:
- 登录接口统一获取 Token
- 全局 headers 统一注入:
Authorization: Bearer {token} - Token 过期自动刷新
规范是地基,Skill 是建筑工。把这些规范固化到 Skill 的系统提示词中,AI 每次生成脚本都会严格遵循。
核心处理逻辑
AI 生成脚本并非简单的 “代码拼接”,而是遵循工程化思维的全流程构建:
- 分层架构设计:严格按「接口层 + 用例层 + 数据层 + 工具层」生成代码,适配企业级项目结构;
- 接口层:封装各模块接口调用(如 auth、order、product),统一处理请求头、鉴权、Token 注入;
- 用例层:按 Normal/Exception/Boundary/Security 四类场景拆分测试用例,逻辑清晰;
- 数据层:自动关联测试数据文件,支持 Pytest/TestNG 数据驱动;
- 工具层:内置日志、断言、请求工具类,无需重复封装。
- 全维度逻辑补齐:
- 自动生成三层断言(状态码 + 业务码 + 业务数据),避免只断言状态码的低级问题;
- 注入异常处理逻辑(超时重试、Token 过期刷新、请求失败捕获);
- 添加 Allure 报告埋点、日志输出,适配 CI/CD 集成要求;
api-testscript-generator 的核心处理流程概况起来:
输入(api_definitions.json + test_data/ + 团队规范)
↓
Step 1: 读取接口结构与参数约束
↓
Step 2: 按团队目录规范生成分层项目结构
↓
Step 3: 封装接口请求层(api/)
↓
Step 4: 生成测试用例层(testcases/)
↓
Step 5: 绑定数据驱动(data/)
↓
Step 6: 补充三层断言 + 异常处理 + 鉴权逻辑
↓
Step 7: 生成工具层与配置文件(utils/ + config/)
↓
输出:完整可运行的接口自动化项目
上述流程,具体能力拆解
| 能力维度 | 说明 | AI赋能价值 |
|---|---|---|
| 分层架构生成 | config/ + api/ + testcases/ + data/ + utils/ | 严格分层,禁止混用,符合工程最佳实践 |
| 语义化命名 | 中文模块名自动映射(认证管理→auth),方法名语义化(/api/auth/login→login()) | 告别拼音命名、无意义命名 |
| 双数据模式 | 数据驱动模式(外部YAML/JSON数据文件)+ 内联数据模式(自动生成默认测试数据) | 用户可自主选择是否提供测试数据 |
| 请求封装 | 自动引入Requests依赖、拼接URL、设置Header/Body/Params、处理鉴权Token注入 | 无需手动编写重复请求代码 |
| 四场景分类 | Normal(正向)/ Exception(异常)/ Boundary(边界)/ Security(安全) | 覆盖全场景,结构清晰 |
| 三层断言 | 状态码 + 业务码 + 业务数据(not_empty/equals/type/contains/length) | 告别"只断言status_code"的敷衍 |
| 企业级健壮 | 30s超时、重试2次、5类异常捕获、Token自动刷新、失败重跑、Allure报告 | 生产级脚本,非Demo玩具 |
| 数据解耦 | 测试数据与脚本分离,YAML参数化绑定 | 数据变更无需改脚本 |
实战效果
场景A:提供接口定义 + 测试数据
输入 api_definitions.json + test_data/(2032条数据),输出:
-
159个测试脚本文件
-
59个API封装文件
-
完整项目结构,可直接
pytest运行
具体操作如下:
从技能列表中,选择api-testscript-generator技能。

找到上述生成好的test_data和api_definitions.json文件目录

将接口文件和接口测试数据目录拖到对话框中,如下图所示:

等待了一会后,skill 就帮我们自动生成好了shop-lab项目完整的接口测试脚本(共157个测试脚本文件)。

项目测试脚本生成好之后,接下来,我们就可以用VSCode或PyCharm打开检查一下,还可根据测试需求,适当对测试脚本进行优化调整。
api_auto_project/
├── config/ 3 文件(config.py + dev.yaml + test.yaml)
├── api/ 59 文件(10 模块目录:auth/user/order/product/cart/address/captcha/banner/search/admin)
├── testcases/ 59 文件(4 场景类:Normal/Exception/Boundary/Security)
├── data/ 59 文件(YAML 格式测试数据)
├── utils/ 4 文件(logger + request_util + assert_util + token_util)
├── conftest.py 1 文件
├── pytest.ini 1 文件
└── requirements.txt 1 文件

从执行结果以及测试脚本中可知,生成好的测试脚本和测试数据已经进行了参数化绑定:

需要注意,在利用api-testscript-generator技能生成项目测试脚本时,数据模式有两种选择:
| 模式 | 适用场景 | 优势 |
|---|---|---|
| 数据驱动模式(传入test_data/) | 正式项目、长期维护 | 数据与脚本解耦,变更灵活 |
| 内联数据模式(仅传接口定义) | 快速Demo、 POC验证 | 上手快,无需准备数据文件 |
从长期维护角度,强烈推荐数据驱动模式。 测试数据往往被多套脚本共享,独立的数据文件让变更可控、复用度更高。
四、脚本生成后,还要做什么?
api-testscript-generator生成的脚本虽能直接运行,但要达到企业级落地标准,还需两步关键操作:
1. 脚本质量优化
AI 生成的脚本可能存在语法小错误、断言覆盖不全、安全场景遗漏等问题,需通过api-test-optimizer进行:
- 4 类校验(语法、规范、健壮性、逻辑);
- 10 维度场景补齐(正向 / 必填 / 边界 / 安全等);
- 6 大自动优化(语法修复、规范对齐、健壮性增强等)。
2. 人工审核与微调:聚焦业务逻辑
AI 无法完全替代人的业务理解,测试工程师需重点审核:
- 业务规则覆盖(如 “已取消订单不可支付”“重复登录限制”);
- 接口依赖关系(如购物车→下单→支付的业务流);
- 企业定制化逻辑(如加密接口、限流规则处理)。
五、Skill 组合使用:完整的 AI 流水线
api-testscript-generator并非孤立存在,它是 AI 赋能接口自动化全链路的核心一环,串联前序和后序 Skill,就是一条接口自动化测试的 AI 流水线:
接口文档(Swagger/OpenAPI/Postman)
│
▼
┌─────────────────┐
│ api-schema- │
│ parser │ ──→ api_definitions.json(59接口结构化定义)
│ (接口解析) │
└─────────────────┘
│
▼
┌─────────────────┐
│ api-testdata- │
│ generator │ ──→ test_data/(2032条全场景测试数据)
│ (数据生成) │
└─────────────────┘
│
▼
┌─────────────────┐
│ api-testscript- │
│ generator │ ──→ api_auto_project/(159个脚本文件)
│ (脚本生成) │
└─────────────────┘
│
▼
┌─────────────────┐
│ api-test- │
│ optimizer │ ──→ 优化后脚本 + 质检报告(下一篇讲解)
│ (质量优化) │
└─────────────────┘
│
▼
┌─────────────────┐
│ 人工审核 + 微调 │
│ (业务逻辑校验) │
└─────────────────┘
│
▼
┌─────────────────┐
│ CI/CD 集成运行 │
│ (持续回归) │
└─────────────────┘
六、项目源码与完整教程
项目完整实操教程、开发架构、设计思路(AI测试实战教程,平均每篇约3.5W字图文教程,非常详细,保姆级手把手喂饭教程,零基础也能快速上手)和项目源码(含30多个AI测试全场景Agent Skill),AI 知识库统一在「狂师 . AI 进化社」中。

目前「AI 进化社」中已经有非常多的AI 项目实战、AI测试实战保姆级教程(图文教程、视频教程)。
写在最后
api-testscript-generator能帮我们快速产出脚本,但要让脚本 “能用、好用、易维护”,核心还是测试工程师的工程思维:
- 规范先行:没有清晰的框架规范、命名规则,AI 生成的脚本只是 “一次性代码”;
- 懂框架原理:理解 Pytest 夹具、数据驱动、Allure 报告等核心逻辑,才能驾驭 AI 生成的脚本;
- 持续迭代:从 “基础可用” 到 “工程落地”,需逐步优化异常处理、鉴权逻辑、CI/CD 集成,让脚本适配真实业务场景。
AI 不是替代测试工程师,而是把我们从重复编码中解放出来 —— 让 AI 做 “体力活”,我们聚焦 “脑力活”,这才是 AI 赋能接口自动化的核心价值。
下一篇预告:《AI测试必学 | AI 赋能接口自动化测试系列(四):脚本质量检查与优化 Agent Skill 》——当 AI 生成的脚本存在幻觉、场景缺失、健壮性不足时,如何用自动化手段做质量把关?从4类校验到10维度场景补齐,解决 AI 生成脚本的 “不完美” 问题,敬请期待。
本文配套的实战项目源码、完整教程(含 30+AI 测试 Agent Skill),可前往「狂师 . AI 进化社」获取,零基础也能快速落地 AI 赋能的接口自动化测试体系。

浙公网安备 33010602011771号