A

AITestCase

promise777/AITestCase
0 Stars 7 次浏览 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "filesystem": {
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "f:\\\\AI软件\\\\AI生成测试用例\\\\AITestCase_demo2"
      ],
      "command": "npx",
      "env": {}
    }
  }
}

该服务需要配置环境变量:.env

服务介绍

AI测试用例生成系统 - MCP架构版本

🎯 项目简介

本项目是基于 Model Context Protocol (MCP) 架构开发的 AI 测试用例生成系统。通过标准化的工具接口与 DeepSeek AI 模型交互,实现智能化的测试用例生成。

🆕 MCP 架构优势

什么是 MCP?

Model Context Protocol (模型上下文协议) 是一个标准化的协议,用于连接 AI 应用与外部工具和数据源。

主要特点

  • 标准化接口: 统一的工具调用规范
  • 类型安全: 强类型参数验证
  • 可扩展性: 轻松添加新工具
  • 错误处理: 统一的异常处理机制
  • 可维护性: 清晰的代码结构

📦 安装依赖

方式1: 使用 MCP 专用依赖

pip install -r requirements_mcp.txt

方式2: 安装核心 MCP 包

pip install mcp aiohttp streamlit pandas openpyxl pillow pytesseract

🚀 快速开始

1. 配置环境变量

在项目根目录创建 .env 文件:

DEEPSEEK_API_KEY=your_api_key_here

2. 启动 MCP 版本应用

streamlit run app_mcp.py

或使用启动脚本:

python run_mcp.py

3. 使用原始版本(对比)

streamlit run app.py

🏗️ MCP 架构说明

核心组件

1. llms_mcp.py - MCP LLM 接口层

  • MCPToolExecutor: 工具执行器类
  • call_deepseek_api_mcp(): 支持工具调用的 API 接口
  • MCP_TOOLS: 工具定义列表

2. utils_mcp.py - MCP 工具实现层

  • generate_test_cases_mcp(): 测试用例生成工具
  • init_vector_db(): 向量数据库初始化
  • ocr_image(): OCR 识别工具

3. app_mcp.py - MCP 应用层

  • Streamlit 界面
  • MCP 工具调用集成
  • 结果展示和导出

MCP 工具列表

工具名称 功能描述 参数
generate_test_cases 生成测试用例 requirement_text, test_level, test_priority, test_case_count
parse_document 解析文档内容 content, query
ocr_image_text OCR图片识别 image_path

📊 MCP vs 原始版本对比

特性 原始版本 MCP版本
API调用方式 直接HTTP请求 标准化工具接口
参数验证 手动验证 Schema自动验证
错误处理 分散处理 统一处理机制
代码可维护性 中等
扩展性 需要修改多处 只需添加工具定义
类型安全 弱类型 强类型

🔧 配置说明

Tesseract OCR 路径配置

utils_mcp.py 中配置 Tesseract 安装路径:

tesseract_paths = [
    r"F:\AI软件\AI生成测试用例\Tesseract-OCR\Tesseract-OCR\tesseract.exe",
    r"C:\Program Files\Tesseract-OCR\tesseract.exe",
    # 添加您的路径
]

向量数据库路径配置

VECTOR_DB_PATH = r"D:\python\PythonProject\vector_db2"
KNOWLEDGE_DIR = r"D:\python\PythonProject\data2"

嵌入模型配置

支持本地模型和在线模型自动切换:

local_model_paths = [
    r"D:\python\models\paraphrase-multilingual-MiniLM-L12-v2",
    r"F:\AI软件\AI生成测试用例\local_models\all-MiniLM-L6-v2",
    # 添加您的本地模型路径
]

📝 使用示例

1. 手动输入需求

用户登录功能:
- 支持手机号+密码登录
- 错误三次锁定账户
- 支持记住密码功能

2. 上传需求文档

支持 .txt.md 格式的需求文档,系统会自动向量化并支持语义检索。

3. 上传图片

支持 OCR 识别图片中的需求文本,支持中英文混合识别。

🎨 功能特性

✨ 智能测试用例生成

  • 自动识别功能点
  • 覆盖边界值测试
  • 异常流程测试
  • 正向场景测试

📤 多格式导出

  • JSON 格式
  • Excel 表格
  • Markdown 文档

🔍 语义检索

  • 向量化需求文档
  • 智能召回相关内容
  • 精准匹配需求点

🛠️ 开发指南

添加新的 MCP 工具

  1. llms_mcp.pyMCP_TOOLS 列表中添加工具定义:
{
    "type": "function",
    "function": {
        "name": "your_tool_name",
        "description": "工具描述",
        "parameters": {
            "type": "object",
            "properties": {
                "param1": {
                    "type": "string",
                    "description": "参数描述"
                }
            },
            "required": ["param1"]
        }
    }
}
  1. MCPToolExecutor 类中实现工具逻辑:
@staticmethod
async def _your_tool_name(param1: str) -> Any:
    """工具实现"""
    # 您的逻辑代码
    pass
  1. execute_tool 方法中注册工具:
if tool_name == "your_tool_name":
    return await MCPToolExecutor._your_tool_name(**arguments)

🐛 常见问题

Q1: MCP 包安装失败怎么办?

A: 尝试使用国内镜像源:

pip install mcp -i https://pypi.tuna.tsinghua.edu.cn/simple

Q2: OCR 识别失败?

A: 请确保已安装 Tesseract OCR 并正确配置路径。

Q3: 向量数据库初始化失败?

A: 检查嵌入模型路径是否正确,或等待自动下载在线模型。

📄 License

MIT License

👥 贡献

欢迎提交 Issue 和 Pull Request!

📮 联系方式

如有问题,请通过 Issue 联系我们。


基于 Model Context Protocol 构建,让 AI 工具调用更加标准化和高效! 🚀

相关 MCP 服务