为什么传统自动化测试那么累
接口一改,测试脚本就挂。字段名、鉴权方式、新增的参数……这些变更让自动化测试的维护成本高得离谱。我记得有报道说,六成以上的团队都觉得维护脚本是最头疼的一环。所以我最近试着让 AI 来分担一部分工作,效果还行,这里做个记录。
我的目标很简单:让 AI 从接口定义直接生成测试用例,自动执行,再帮忙分析结果,最后出报告。再把这一套塞进 CI,日常跑一跑,心里有底。
先让 AI 读 OpenAPI,吐出测试用例
思路上就是拿 OpenAPI 的 yaml 解析一下,把 schema 和响应描述塞给 GPT,让它以测试专家的身份输出用例。下面是 Python 的实现,用了 OpenAI 的 API。
import openai
import yaml
import os
# 设置你的 OpenAI API 密钥
openai.api_key = os.getenv("OPENAI_API_KEY")
def generate_test_cases_from_openapi(openapi_file, target_endpoint):
""" 从 OpenAPI 文件中提取指定接口信息,并用 AI 生成测试用例 """
# 1. 读取并解析 OpenAPI 文件
with open(openapi_file, 'r', encoding='utf-8') as f:
openapi_spec = yaml.safe_load(f)
# 2. 提取目标接口信息
paths = openapi_spec.get('paths', {})
endpoint_info = paths.get(target_endpoint, {})
# 获取 POST/PUT 请求体
request_body = endpoint_info.get('post', {}).get('requestBody', {})
schema = request_body.get('content', {}).get('application/json', {}).get('schema', {})
# 获取响应定义
responses = endpoint_info.get('post', {}).get('responses', {})
# 构造 AI 提示词(Prompt)
prompt = f""" 你是一位资深的 API 测试专家。请根据以下 OpenAPI 接口定义,生成 10 个高质量的测试用例。
要求:
1. 覆盖正常场景、边界值、异常输入。
2. 包括正向测试(200 OK)和负向测试(400 Bad Request, 401 Unauthorized 等)。
3. 用 JSON 格式输出,包含:用例 ID、描述、请求方法、URL、请求体、预期状态码、预期响应。
接口信息:
- 路径:{target_endpoint}
- 请求体 Schema: {schema}
- 响应: """
response = openai.ChatCompletion.create(
model=,
messages=[{:,:},{:,: prompt}],
max_tokens=,
temperature=
)
response.choices[].message[].strip()
test_cases = generate_test_cases_from_openapi(, )
(test_cases)


