接口测试的自动化脚本,维护起来是个体力活。随着项目迭代,接口频繁变更,手写的测试用例很容易跟不上。有报告说超过 60% 的团队认为'测试维护成本过高'是自动化的主要障碍——花大量时间修脚本,而不是设计新场景。
AI 可以接过这个包袱。不是说完全替代人,而是让测试变得'聪明一点':它能理解接口定义,生成用例,执行后分析结果,甚至自我优化。目标是一套流程跑下来,人只需要做决策。
用例生成:解析 OpenAPI + 大模型
以 OpenAPI 3.0 为例,我们用 Python 拿到接口的 schema 和响应定义,拼一个 prompt 丢给 GPT,让它输出结构化的测试用例。
import openai
import yaml
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
def generate_test_cases_from_openapi(openapi_file, target_endpoint):
with open(openapi_file, 'r', encoding='utf-8') as f:
openapi_spec = yaml.safe_load(f)
paths = openapi_spec.get('paths', {})
endpoint_info = paths.get(target_endpoint, {})
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', {})
prompt = f"""你是一位资深的 API 测试专家。请根据以下 OpenAPI 接口定义,生成 10 个高质量的测试用例。
要求:
1. 覆盖正常场景、边界值、异常输入。
2. 包括正向测试(200 OK)和负向测试(400 Bad Request, 401 Unauthorized 等)。
3. 用 JSON 格式输出,包含:用例 ID、描述、请求方法、URL、请求体、预期状态码、预期响应。
接口信息:
- 路径:{target_endpoint}
- 请求体 Schema: {schema}
- 响应:{responses}"""
response = openai.ChatCompletion.create(
model="gpt-4-turbo",
messages=[{"role": "system", "content": "You are an API testing expert."}, {"role": "user", "content": prompt}],
max_tokens=,
temperature=
)
response.choices[].message[].strip()
test_cases = generate_test_cases_from_openapi(, )
(test_cases)


