让AI读取你的API文档并生成接口测试用例

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


Apifox是一款面向开发人员、测试人员以及团队协作的接口管理工具,它集API文档管理、Mock服务、接口调试、自动化测试等功能于一体,目前已成为国内众多企业采用的接口管理主流工具之一。如何让AI编码助手读取Apifox上维护的接口文档?推荐大家试一试这个工具:Apifox MCP Server。

一、Apifox MCP Server简介

MCP协议由Anthropic公司于2024年11月推出并开源,旨在解决AI大模型与外部数据源、工具的集成难题。通过标准化交互方式,它让AI助手可以连接到第三方数据源,包括内容存储库、业务工具以及开发环境,进而使得AI大模型能够生成更相关、更准确的回答。

Apifox MCP Server就是这样一个基于模型上下文协议(Model Context Protocol)的实现工具。它充当了API 文档与 AI 工具之间的桥梁  ,允许开发者将 Apifox 中的接口文档(如数据模型、接口定义)直接暴露给支持 MCP 的 AI 编程工具(如 Cursor、VSCode + Cline、Trae 等)。这个工具支持三种使用模式:

● 通过 MCP 使用 Apifox 项目内的 API 文档

● 通过 MCP 使用公开发布的 API 文档

● 通过 MCP 使用 OpenAPI/Swagger 文档

本文重点介绍第一种:如何通过 MCP 使用 Apifox 项目内的 API 文档

二、Apifox MCP Server如何安装配置?

前置条件

1. 已安装 Node.js 环境(版本号 >= 18)

2. 任意一个支持 MCP 的客户端,比如Trae, Cursor等AI IDE,或者通义灵码等AI编程插件。

3. 需要按照以下步骤获取 Apifox 个人访问令牌和项目ID

在 Apifox 生成 API 个人访问令牌

3.1 打开 Apifox,将鼠标悬停在页面右上角的头像上,点击 “账号设置 -> API 访问令牌”

3.2 创建新的 API 访问令牌,替换下面配置文件中的 <access-token>

图片

获取 Apifox 项目 ID

3.3 打开 Apifox 里对应的项目

3.4 在左侧边栏点击 “项目设置”,在 “基本设置” 页面即可复制项目 ID

3.5 拿到项目 ID,替换下面配置文件中的 <project-id>

图片

配置方法(以Trae为例)

第一步,打开 Trae 编辑器,点击AI 侧栏右上角 「设置」图标,选择「MCP」选项,点击「+ 添加 」按钮,选择 “手动添加”。

图片

第二步,在打开的 mcp.json 文件中添加以下配置,注意替换 <access-token> 和 <project-id> 为你自己的值:

图片

macOS / Linux​​​​​​​

{
  "mcpServers": {
    "API 文档": {
      "command": "npx",
      "args": [
        "-y",
        "apifox-mcp-server@latest",
        "--project=<project-id>"
      ],
      "env": {
        "APIFOX_ACCESS_TOKEN": "<access-token>"
      }
    }
  }
}

Windows​​​​​​​

{
  "mcpServers": {
    "API 文档": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "apifox-mcp-server@latest",
        "--project=<project-id>"
      ],
      "env": {
        "APIFOX_ACCESS_TOKEN": "<access-token>"
      }
    }
  }
}

三、 Apifox MCP Server给大模型提供了什么工具?    

 按以上步骤配置成功后,返回MCP列表,可以看到名为API 文档的MCP,展开下拉列表可以看到其中有三个方法可供AI使用:

● 读取此项目中的 OpenAPI Spec 文件内容

● 读取此项目中的 OpenAPI Spec 文件内 $ref 的文件内容, 可以同时获取多个文件内容

● 从服务器重新下载最新的此项目中的 OpenAPI Spec 文件内容

图片

四、Apifox MCP Server的主要应用场景有哪些?  

开发者可以使用这个工具大大提升接口相关的开发工作效率,比如:

● "通过 MCP 获取 API 文档,然后生成 Product 及其相关模型的定义代码"

● "根据 API 文档,在 Product DTO 里添加 API 文档新增的几个字段"

● "根据 API 文档给 Product 类的每个字段都加上注释"

● "根据 API 文档,生成接口 /users 相关的所有 MVC 代码"

测试工程师也可以使用这个工具进行接口相关的测试活动,比如:

● "请通过 MCP 获取 API 文档,并告诉我项目中用户管理模块有哪些接口?"

● "通过 MCP 获取登录功能的 API 文档,然后生成接口测试用例"

● "根据 API 文档,使用Python+ Flask生成这个接口的Mock Server"

五、案例:用 Apifox MCP 让AI快速读取接口文档并生成接口测试脚本

首先,在Trae中创建一个接口测试智能体,具体设定如下:(工具只勾选这个Apifox这个MCP)

图片

角色提示词:​​​​​​​

# 角色
你是专业的 API 测试工程师,专注于使用 pytest 生成全面的自动化测试脚本

# 要求
1. **必须通过 “API 文档“ 这一 MCP Server Server 获取接口文档**
- 当用户提及任何接口时,立即通过 “API 文档“ 这一 MCP 查询最新文档
- 若用户未指定具体接口,请获取项目内所有API文档的元数据,并查找出符合用户需求的接口

2. **生成 pytest 测试脚本要求**
- **覆盖率**:必须覆盖该接口的全部正常/异常场景
- **参数化**:使用 `@pytest.mark.parametrize` 进行参数化测试,分离测试数据与逻辑
- **断言深度**:
✓ 验证状态码
✓ 校验响应体结构
✓ 检查关键业务字段
✓ 验证错误处理逻辑
- **钩子函数**:添加 setup/teardown 处理认证令牌

3. **文档解析规范**
从 MCP 获取文档后,重点提取:
▸ 请求方法及路径
▸ 请求头要求(特别注意认证)
▸ 请求参数(路径/查询/body参数及约束)
▸ 响应状态码及对应业务含义
▸ 成功/失败响应体结构
▸ 接口业务约束说明

4. **测试脚本模板**
import pytest
import requests
BASE_URL = "https://api.example.com"
@pytest.mark.parametrize("username, password, expected_status, expected_message", [
("user1", "pass123", 200, None),  # 正常登录
("user1", "wrong", 401, "密码错误"),
("not_exist_user", "any", 404, "用户不存在"),
("", "pass123", 400, "用户名不能为空"),
("user1", "", 400, "密码不能为空"),
("a"*51, "pass123", 400, "用户名长度超过限制")  # 假设用户名长度限制50
])
def test_login(username, password, expected_status, expected_message):
url = f"{BASE_URL}/login"
data = {
"username": username,
"password": password
}
response = requests.post(url, data=data)
assert response.status_code == expected_status
if expected_message:
assert expected_message in response.json().get("message", "")
注意:必须通过MCP获取真实接口文档,并据此调整测试数据

然后使用这个智能体:

图片

生成效果:

图片

图片

看到这里,你可能会问,我们团队的接口文档不是用Apifox管理的,而是Swagger,或者JSON、YAML格式的怎么处理?

或者,你可能会觉得,这生成的脚本还比较简单,难以满足更复杂的接口测试场景和需求,比如多接口关联怎么处理?

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值