AI 接口赋能测试
1.与传统接口测试的差异
测试⽤例编写效率低,依赖⼈⼯经验:
编写接⼝⾃动化测试⽤例往往依赖测试⼯程师根据接⼝⽂档⼿动设计,效率较低,对业务不熟悉的新⼿测试⼈员难以快速理解接⼝逻辑,导致测试点遗漏或冗余,同时在需求频繁变更的项⽬中,⽤例更新滞后,容易出现“接⼝变了,⽤例没改”的情况。
断⾔规则编写繁琐且易出错:
对返回结果进⾏断⾔时,通常需要⼈⼯逐⼀定义字段值的期望输出,⼀旦接⼝返回结构变化,断⾔逻辑容易失效,需要⼿动维护。
接⼝依赖环境数据,造数困难:
很多接⼝依赖上下游数据状态,传统⾃动化测试在准备测试数据时需编写⼤量前置脚本,数据依赖复 杂时容易引发测试失败,影响测试稳定性和效率。
2.AI赋能接⼝⽤例编写
使⽤AI协助快速⽣成⾼质量、结构清晰、覆盖全⾯的接⼝测试⽤例,降低测试⻔槛,提升效率。通过设计的提示词覆盖正常、边界、异常、安全测试场景。
2.1提示词设计
指令:请根据以下接⼝信息,帮我⽣成完整的测试⽤例列表。要求覆盖正常情况、边界情况、异常输⼊、安全测试场景。
背景信息:注册接⼝请求参数包含⽤⼾名、密码和邮箱三个字段,⽤⼾名必填,⻓度 3-16 ,密码必填, ⾄少 8 位,包含字⺟和数字,邮箱必填,符合邮箱格式。
输⼊:
接⼝信息如下:
POST /api/user/register(此处更换自己的项目URL进行测试)
请求参数: - username: string
- password: string
- email: string
输出:⽤表格形式展⽰,包括:⽤例编号、测试⽬标、输⼊参数、预期结果。
输出示例(展现部分输出,可根据自己的需求进行修改):

3.AI赋能脚本编写
请帮我使⽤ Python 和 requests 库,⽣成⼀个接⼝测试脚本,
接⼝信息如下: 接⼝地址: POST https://api.example.com/user/register
请求参数: - username: string (必填)
- password: string (必填
- email: string (必填)
测试⽬标:验证正常注册⽤⼾时接⼝返回 200 ,并返回 JSON 中包含字段 "success": true 。 请⽣成可执⾏脚本,并附带断⾔。
代码就不进行示例了,ai大模型很强大,再写自动化测试的过程中有报错信息都可以将他给ai进行修改,比如环境未配置、期望结果不符合预期等。再写的时候一定要先循环渐进的一个接口写完再去进行下一个接口。
4.项目实战
首先需要个人整理系统详细的接口文档以及测试模板(也可以交给ai去整理),ai生成的结果可根据自己的需求进行修改。
4.1 需求分析与用例设计
4.1.1提示词
@接口文档 @接口测试用例模板
针对系统接口文档中涉及到的所有接口,分别设计接口测试用例
要求:
1)用例需覆盖:正常场景、参数缺失、参数异常(类型/长度/格式)、边界值等,按照测试的优先级 将每个接口对应测试用例的数量控制在10个以内
2)输出格式:完全按照系统接口测试用例模板文档中的格式来输出测试用例,保存在“接口测试用例.md”文件中
4.1.2生成结果
部分示例,ai工具看着不太友好,建议使用Typora观看

注意:从结果来看,格式符合我们的要求,需要继续看用例的设计和关键信息是否符合预期,这里可以利用postman进行接口请求获取观察。
4.2 搭建项目框架
4.2.1提示词
@接口测试用例 根据接口测试用例.md文件内容,直接输出接口自动化目录结构即可,不需要创建项目代码或文件,技术栈要求:
1. 编程语言:Python
2. 测试框架:pytest
3. HTTP 库:requests
4. 数据驱动:YAML
5. 报告:Allure
6. 接口返回值断言:jsonschema
7. logging日志记录:日志分级输出,按天分割
其他设计要求:
1. 其他接口需要在请求头添加有效token,但是token值来自于登录接口的返回值data
2. 其他接口中有效的blogId取自列表页接口getList的有效返回值id
4.2.2生成结果
```Python
project_root/
│
├── requirements.txt # 依赖列表
├── pytest.ini # pytest 全局配置
├── config/
│ ├── settings.py # 全局配置(BaseURL、日志级别…)
│ └── logging.conf # logging 配置文件(TimedRotatingFileHandler 按天切分)
│
├── data/
│ ├── login.yaml # 登录接口测试数据
│ ├── getList.yaml
│ ├── addBlog.yaml
│ ├── getBlogDetail.yaml
│ ├── getUserInfo.yaml
│ └── getAuthorInfo.yaml
│
├── schema/ # jsonschema 断言文件
│ ├── login_schema.json
│ ├── blog_list_schema.json
│ ├── blog_detail_schema.json
│ └── user_schema.json
│
├── common/
│ ├── __init__.py
│ ├── logger.py # 日志封装(按级别输出:DEBUG/INFO/WARNING/ERROR/CRITICAL)
│ ├── request_handler.py # requests 二次封装(自动写日志、异常处理)
│ └── yaml_reader.py # 加载 YAML 用例
│
├── logs/ # 日志目录(按级别和日期分割)
│ ├── debug/ # DEBUG 级别日志
│ │ └── debug_2026-03-08.log
│ ├── info/ # INFO 级别日志
│ │ └── info_2026-03-08.log
│ ├── warning/ # WARNING 级别日志
│ │ └── warning_2026-03-08.log
│ ├── error/ # ERROR 级别日志
│ │ └── error_2026-03-08.log
│ └── critical/ # CRITICAL 级别日志
│ └── critical_2026-03-08.log
│
├── fixture/
│ ├── __init__.py
│ └── conftest.py # pytest fixture:
│ # - login():返回有效 token
│ # - blog_id():返回 getList 第一条 id
│
├── api/
│ ├── __init__.py
│ ├── login_api.py # 登录接口封装
│ ├── blog_api.py # 博客相关接口封装
│ └── user_api.py # 用户相关接口封装
│
├── test_case/
│ ├── __init__.py
│ ├── test_login.py # 登录用例
│ ├── test_blog_list.py
│ ├── test_add_blog.py
│ ├── test_blog_detail.py
│ ├── test_user_info.py
│ └── test_author_info.py
│
├── report/ # 运行后自动生成
│ ├── html/ # allure html
│ └── allure_raw/ # allure json
│
└── run.py # 一键执行入口(pytest.main + allure generate)
```
4.3 脚本生成
4.3.1提示词
@系统接口文档
@系统项目结构
@系统接口测试用例
结合系统相关文档,严格按照要求生成接口自动化测试脚本代码
4.3.2生成结果
代码生成后需要进行两步操作:
- 根据项目结构检查对应的文件代码是否成功生成,避免出现文件下有空的情况
- 运行脚本,检查代码内容是否正确,是否符合我们的预期,如果不符合预期需要一直使用新的提示词利用AI针对性的去更新我们的代码
具体效果不展示,根据自己的代码不断优化
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)