测试驱动程序MCP框架v2.0
具有人工智能自愈功能的下一代自主测试平台
概述
TestDriver MCP Framework v2.0是一个革命性的自主测试平台,它结合了人工智能视觉模型、自愈能力、持续学习和内置自检,以最小的人工干预提供稳定、无缺陷的产品。
主要特点
✅ 无后端API密钥依赖关系 -完全自主运行,无需外部API服务\ ✅ 通用AI视觉模型兼容性 -适用于任何视觉模型(OpenAI、本地模型、自定义实现)\ ✅ 统一的Selenium和剧作家支持 -两个执行框架的单个MCP接口\ ✅ 人工智能驱动的自我修复 -自动修复损坏的测试,减少60-80%的维护\ ✅ 持续学习 -系统通过强化学习自主改进\ ✅ 内建自测试 -持续验证其自身的正确性和性能\ ✅ 测试内存存储 -基于向量相似性搜索的持续治疗历史\ ✅ 预测分析 -在测试失败发生之前进行预测
建筑
核心组件
- MCP 服务器 -用于AI模型集成的模型上下文协议服务器
- 视觉适配器 -用于元素检测的可插拔AI视觉模型
- 执行框架 -统一浏览器自动化(Selenium/Playwright)
- 自愈引擎 -人工智能定位器通过信心评分进行修复
- 测试内存存储 -带有可视化嵌入的持久存储
- 学习编排器 -连续参数优化
- 自检框架 -嵌入式验证器和健康监控
系统架构
┌─────────────────────────────────────────────────────────────┐
│ MCP Server Layer │
│ (JSON-RPC Protocol, Tool Definitions, Request Handling) │
└────────────────────┬────────────────────────────────────────┘
│
┌────────────┴────────────┐
│ │
┌───────▼──────────┐ ┌────────▼─────────┐
│ Vision Adapters │ │ Execution Engine │
│ - OpenAI GPT-4V │ │ - Playwright │
│ - Local VLM │ │ - Selenium │
└───────┬──────────┘ └────────┬─────────┘
│ │
└────────────┬───────────┘
│
┌────────────▼────────────┐
│ Self-Healing Engine │
│ - Locator Healing │
│ - Confidence Scoring │
│ - Memory Lookup │
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ Test Memory Store │
│ - Healing History │
│ - Visual Embeddings │
│ - Similarity Search │
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ Learning Orchestrator │
│ - Parameter Optimization│
│ - Insight Generation │
└─────────────────────────┘安装
先决条件
- Python 3.11+
- pip或pip3
- OpenAI API密钥(可选,用于OpenAI视觉适配器)
安装依赖项
cd testdriver-mcp
pip3 install -e .附加依赖项
# For Playwright support
pip3 install playwright
playwright install chromium
# For Selenium support
pip3 install selenium webdriver-manager快速开始
1.配置系统
创建配置文件 config.json:
{
"vision": {
"adapter": "openai",
"api_key": "your-openai-api-key",
"model": "gpt-4.1-mini"
},
"execution": {
"driver": "playwright",
"headless": true
},
"healing": {
"auto_commit_threshold": 0.9,
"pr_review_threshold": 0.8,
"manual_review_threshold": 0.7
},
"learning": {
"learning_interval_hours": 24
},
"self_test": {
"enabled": true,
"check_interval_seconds": 60
}
}2.运行系统
import asyncio
from main import TestDriverApp
config = {
"vision": {"api_key": "your-key", "model": "gpt-4.1-mini"},
"execution": {"driver": "playwright", "headless": True},
"healing": {
"auto_commit_threshold": 0.9,
"pr_review_threshold": 0.8
}
}
app = TestDriverApp(config)
async def main():
await app.start()
# Handle MCP requests
request = {
"jsonrpc": "2.0",
"id": "1",
"method": "tools/call",
"params": {
"name": "generate_test_plan",
"arguments": {
"requirements": "Test login functionality",
"target_url": "https://example.com"
}
}
}
response = await app.handle_mcp_request(request)
print(response)
await app.stop()
asyncio.run(main())3.运行测试
cd testdriver-mcp
python3.11 tests/test_system.py用法示例
生成测试计划
request = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_test_plan",
"arguments": {
"requirements": "Test user registration flow",
"target_url": "https://app.example.com/register",
"test_type": "functional"
}
}
}
response = await app.handle_mcp_request(request)使用自我修复执行测试
request = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "execute_test",
"arguments": {
"test_plan": test_plan,
"environment": {"browser": "chromium"}
}
}
}
response = await app.handle_mcp_request(request)分析测试稳定性
request = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "analyze_test_stability",
"arguments": {
"test_id": "test-123",
"days": 30
}
}
}
response = await app.handle_mcp_request(request)配置
视觉适配器
OpenAI GPT-4愿景
config = {
"vision": {
"adapter": "openai",
"api_key": "your-api-key",
"model": "gpt-4.1-mini"
}
}局部视觉模型
config = {
"vision": {
"adapter": "local",
"model_name": "llava",
"model_path": "/path/to/model"
}
}执行框架
剧作家
config = {
"execution": {
"driver": "playwright",
"browser": "chromium", # or "firefox", "webkit"
"headless": True
}
}硒
config = {
"execution": {
"driver": "selenium",
"browser": "chrome",
"headless": True
}
}自愈配置
config = {
"healing": {
"auto_commit_threshold": 0.9, # Auto-commit if confidence >= 90%
"pr_review_threshold": 0.8, # PR review if confidence >= 80%
"manual_review_threshold": 0.7 # Manual review if confidence >= 70%
}
}成功标准
系统持续验证以下成功标准:
系统级
- 减少测试维护:维护工作量减少60-80%
- 测试可靠性:通过率90-95%
- 治愈成功率:80-90%的损坏测试已自动修复
- 平均治愈时间:每个愈合事件\<30秒
模块级
- 自愈模块:治愈成功率80%+
- 学习模块:参数优化的持续改进
- 内存存储:相似性搜索的检索延迟\<500ms
班级级别
- AILocatorHealing引擎:对治疗决策有85%以上的信心
- 客户评价:100%的数据持久性和检索准确性
- 测试学习编排器:每24小时生成可操作的见解
测试
运行所有测试
python3.11 tests/test_system.py测试覆盖率
测试套件验证:
- ✅ MCP服务器初始化和协议处理
- ✅ 内存存储操作和持久性
- ✅ 向量相似度搜索精度
- ✅ 学习编排器功能
- ✅ 元件稳定性计算
- ✅ 自我修复引擎信心评分
部署
Docker部署(Podman)
# Build image
podman build -t testdriver-mcp:2.0.0 .
# Run container
podman run -d \
-e OPENAI_API_KEY=your-key \
-p 8080:8080 \
testdriver-mcp:2.0.0Kubernetes部署
kubectl apply -f deployment/kubernetes/性能基准
- 愈合延迟:每个事件2-5秒
- 记忆检索:相似性搜索小于500ms
- 测试执行:优化参数后速度提高30-50%
- 学习周期:1000多项测试在5分钟内完成
路线图
第1阶段(当前)
- ✅ 核心MCP服务器实现
- ✅ 视觉适配器集成
- ✅ 自愈式发动机
- ✅ 测试内存存储
- ✅ 学习编排器
- ✅ 内建自测试
第二阶段(已完成)
- ✅ 高级预测分析
- ✅ 多层交叉验证
- ✅ 混沌工程集成
- ✅ GPU加速视觉处理
第3阶段(下一阶段)
- 🔄 多代理架构
- 🔄 持续模型训练
- 🔄 企业级可观察性
- 🔄 高级安全测试
贡献
欢迎投稿!在提交pull请求之前,请阅读我们的贡献指南。
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
对于问题、疑问或功能请求,请在GitHub上打开问题。
作者
TestDriver MCP框架开发团队
致谢
- 模型上下文协议(MCP)规范
- GPT-4 Vision API的OpenAI
- 剧作家和硒社区
