集成Cursor-MCP的人工智能测试自动化平台
一个开源平台,使用与Cursor的模型上下文协议(MCP)服务器集成的AI/ML技术,根据代码更改自动生成和运行测试。
🏗️ 架构概述
Stack(零预算,开源)
- 后端:Python+FastAPI
- 前端:Angular(TypeScript)
- 矢量数据库:Qdrant(简单、开源)
- 嵌入:句子转换器(均为MiniLM)-在CPU上运行良好
- LLM:游标MCP服务器(模型上下文协议)-替换本地模型
- 编排:Redis(后台任务)
- 测试运行器:Playwright(Python)-Docker内部的UI自动化
- 人工制品:MinIO(兼容S3)用于截图/视频
- 代码访问:Git+GitPython用于克隆仓库和计算差异
🚀 快速开始
先决条件
- Docker&Docker编写
- Python 3.10/3.11
- Node.js(v18+)
- Git
- 光标API键(用于MCP服务器集成)
- OpenAI API密钥(可选,用于回退)
1.克隆和设置
# Clone the repository
git clone
cd automate-testing-AI
# Run the automated setup script
./setup.sh2.手动设置(如果脚本失败)
启动基础设施服务
cd infra
docker-compose up -d
cd ..设置Python环境(最小)
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install minimal requirements (only what's needed for MCP)
pip install -r backend/requirements.txt设置角度前端
cd frontend
npm install
ng serve --open3.验证设置
测试嵌入和矢量数据库
cd backend
source ../.venv/bin/activate
python tests/test_embeddings_qdrant.py测试最小MCP集成
python backend/tests/test_mcp_minimal.py启动后端API
cd backend
source ../.venv/bin/activate
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000📁 项目结构
automate-testing-AI/
├── infra/ # Docker Compose services
│ └── docker-compose.yml
├── backend/
│ ├── app/ # FastAPI application
│ │ ├── main.py # API entry point
│ │ └── __init__.py
│ ├── runners/ # Playwright runner scripts (to create)
│ ├── requirements.txt
│ └── tests/ # Verification scripts
│ ├── test_embeddings_qdrant.py
│ └── test_small_llm.py
├── frontend/ # Angular application
│ ├── src/app/
│ │ ├── components/
│ │ │ ├── test-configuration/
│ │ │ └── test-results/
│ │ └── shared/
│ └── package.json
├── setup.sh # Automated setup script
└── README.md🔧 服务和港口
| 服务 | 端口 | 用途 |
|---|---|---|
| Postgres | 5432 | 数据库 |
| Qdrant | 6333 | 矢量数据库 |
| MinIO | 9000 | 对象存储(兼容S3) |
| Redis | 6379 | 任务队列 |
| FastAPI | 8000 | 后端 API |
| Angular | 4200 | 前端开发服务器 |
🧪 测试设置
1.基础设施健康检查
docker-compose -f infra/docker-compose.yml ps2.嵌入测试
这 test_embeddings_qdrant.py 脚本应:
- 负载变压器模型
- 为示例代码片段生成嵌入
- 存储在Qdrant矢量数据库中
- 执行语义搜索
3.MCP集成测试
这 test_mcp_integration.py 脚本应:
- 连接到Cursor MCP服务器
- 测试工具的发现和执行
- 使用MCP服务器生成测试代码
- 验证MCP客户端功能
4.前端测试
- 引导到
http://localhost:4200 - 应查看测试配置表
- 可以输入存储库详细信息并生成测试
🔒 安全与安保
重要规则
- 从不对生产支付端点运行生成的测试
- 使用沙盒/测试凭据或模拟支付API
- 将机密存储在.env文件中(从不提交)
- 在临时Docker容器中运行Playwright测试
- 试运行后删除容器
环境变量
创建一个 .env 后端目录中的文件:
# Database
DATABASE_URL=postgresql://aiqa:aiqa_pass@localhost:5432/aiqa
# Vector DB
QDRANT_URL=http://localhost:6333
# Redis
REDIS_URL=redis://localhost:6379
# MinIO
MINIO_ENDPOINT=localhost:9000
MINIO_ACCESS_KEY=minio
MINIO_SECRET_KEY=minio123
# MCP Server Configuration
CURSOR_API_KEY=your_cursor_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
# MCP Configuration File Path
MCP_CONFIG_FILE=config/mcp_config.json
# Optional: Hugging Face token for model downloads
HUGGINGFACE_TOKEN=your_token_here🎯 后续步骤
完成此设置后,下一阶段将包括:
- 差异分析与代码段提取
- GitPython用于存储库克隆和差异计算 - 不同语言的AST解析(JS/TS/Python) - 功能提取和选择器/定位器识别
- FastAPI端点
- /api/diff -分析代码更改 - /api/generate_tests -使用MCP服务器生成测试代码 - /api/run_tests -使用Playwright执行测试
- 增强的MCP集成
- 多MCP服务器支持 - 工具发现和执行 - 上下文感知测试创建 - 回退机制
🐛 故障排除
常见问题
- Docker服务未启动
docker-compose -f infra/docker-compose.yml logs- MCP服务器连接问题
# Check MCP server configuration
cat backend/config/mcp_config.json
# Test MCP connection
python tests/test_mcp_integration.py- API密钥配置
# Ensure API keys are set in .env file
grep -E "(CURSOR_API_KEY|OPENAI_API_KEY)" backend/.env- Playwright浏览器安装
python -m playwright install- 端口冲突
- 检查端口5432、6333、9000、6379是否可用 - 如果需要,修改docker-compose.yml
GPU支持(可选)
如果您有NVIDIA GPU:
# Install CUDA-enabled PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118- Playwright浏览器安装
python -m playwright install- 端口冲突
- 检查端口5432、6333、9000、6379是否可用 - 如果需要,修改docker-compose.yml
GPU支持(不需要)
由于我们使用MCP服务器而不是本地型号,因此不需要GPU支持。MCP服务器远程处理繁重的工作。
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加测试
- 提交拉取请求
📄 许可证
该项目根据MIT许可证获得许可。
