GitLab UI测试计划生成器
一个由AI驱动的MCP服务器,使用本地Ollama AI模型从GitLab合并请求中生成全面的UI测试计划。你的代码永远不会离开你的机器。
🏗️ 项目结构
gitlab-testplan-generator/
├── mcp-server/
│ ├── src/gitlab_mcp/ # Main package
│ │ ├── server.py # MCP server with ui_test_plan_from_mr tool
│ │ ├── analyzer.py # GitLab MR analysis with AI
│ │ ├── test_planner.py # AI-powered test plan generation
│ │ ├── ai_service.py # Local Ollama AI integration
│ │ └── models.py # Pydantic data models
│ ├── examples/ # Usage examples
│ │ ├── demo_analysis.py # Demo script
│ │ ├── example_usage.py # Example usage patterns
│ │ └── test_ollama.py # AI agent verification test
│ ├── docs/ # Documentation
│ ├── main.py # Entry point
│ ├── requirements.txt # Dependencies
│ └── .env # Environment configuration
└── venv/ # Virtual environment🔧 特性
🤖 AI驱动的分析
- 使用本地Ollama AI模型进行智能代码分析
- 分析GitLab合并请求以识别受影响的UI区域
- 基于代码更改生成上下文感知测试场景
- 隐私第一:所有分析都在您的机器上本地进行
📋 综合测试计划
- 通过特定步骤生成以UI为中心的测试场景
- 每个测试场景的风险评估(高/中/低)
- 预期结果和验收标准
- 处理正面和边缘案例测试场景
🔗 无缝集成
- 通过MCP协议与Cursor IDE直接集成
- 简单
@ui_test_plan_from_mr命令用法 - 适用于GitLab.com和自托管GitLab实例
- 没有外部API调用-一切都在本地运行
🚀 快速开始
1.先决条件
- Python 3.8+
- 没有 已安装并正在运行
- GitLab个人访问令牌
- 光标IDE
2.安装
# Navigate to the project
cd gitlab-testplan-generator
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
cd mcp-server
pip install -r requirements.txt3.配置
在中设置您的GitLab凭据 mcp-server/.env:
GITLAB_URL=https://gitlab.cee.redhat.com # Your GitLab instance
GITLAB_TOKEN=your-personal-access-token # GitLab PAT with api, read_repository scopes
GITLAB_SSL_VERIFY=false # For internal GitLab instances4.在游标中安装
添加到您的 ~/.cursor/mcp.json:
{
"mcpServers": {
"gitlab-ui-test-plan-generator": {
"command": "/path/to/gitlab-testplan-generator/venv/bin/python",
"args": ["/path/to/gitlab-testplan-generator/mcp-server/main.py"],
"env": {
"GITLAB_URL": "https://gitlab.cee.redhat.com"
}
}
}
}
### 5. Start Ollama
Install and start Ollama
ollama serve
Pull the AI model (in another terminal)
ollama pull qwen2.5-coder:1.5b
### 6.验证AI代理(可选但推荐)
Navigate to examples directory
cd mcp-server/examples
Run AI agent verification test
python test_ollama.py
该测试验证:
- ✅ Ollama服务器状态和版本
- ✅ 所需AI模型可用性
- ✅ 人工智能生成能力
**预期产量:**
=== Ollama AI Agent Status Check === ✅ Ollama server is running (version: 0.9.6) ✅ Required model 'qwen2.5-coder:1.5b' is available ✅ AI generation successful! 🎉 All tests passed! Your AI agent is running correctly on Ollama.
### 演示和示例
Verify AI agent is working correctly
python examples/test_ollama.py
Run demo analysis (works offline without GitLab credentials)
python examples/demo_analysis.py
Run with real GitLab connection
(requires configured .env file)
python examples/demo_analysis.py
## 📋 可用的MCP工具
### `ui_test_plan_from_mr`
**从GitLab合并请求生成UI测试计划的主要工具。**
**游标中的用法:**
@ui_test_plan_from_mr https://gitlab.cee.redhat.com/project/-/merge_requests/123
**它的作用:**
1. 🔍 分析合并请求并提取代码更改
1. 🤖 使用本地AI了解变化的影响
1. 🎯 识别受影响的UI区域和组件
1. 📋 生成具有特定步骤的全面测试场景
1. ⚠️ 为每种情况提供风险评估
## 💡 使用示例
### 在光标中:
@ui_test_plan_from_mr https://gitlab.cee.redhat.com/ /merge_requests/12345
@ui_test_plan_from_mr https://gitlab.cee.redhat.com/project/-/merge_requests/123/diffs
### 输出示例:
该工具生成:
- **MR职务**:\[JIRA-ID\]:MR标题描述
- **受影响的页面**:受影响的页面和组件
- **测试场景**:2-5个AI生成的场景
- **风险等级**:每个场景的高/中/低
- **详细步骤**:具体行动和预期成果
- **AI洞察**:变更和用户影响摘要
## 🔧 建筑
### 核心组件
- **`CodeAnalyzer`**:分析GitLab合并请求并计算复杂性/风险分数
- **`UITestPlanGenerator`**:根据变更分析创建全面的测试计划
- **`MCP Server`**:通过模型上下文协议公开功能
- **`Models`**:用于类型安全和验证的Pydantic数据模型
### 成分分析
系统会根据文件模式自动识别组件:
- **认证**: `/auth/`, `/login/`, `/user/` 文件
- **数据库**: `.sql`、迁移文件, `/models/`, `/db/` 文件
- **API**: `/api/`, `/endpoints/`, `/routes/` 文件
- **前端**: `.js`, `.ts`, `.vue`, `.html`, `.css` 文件
- **后端**: `.py`, `.java`, `.cpp`, `.go` 文件
- **配置**: `/config/`, `.env`, `.yaml`, `.json` 文件
- **安全**: `/security/`, `/ssl/` 文件
### 风险评估
服务器自动评估风险等级:
- **高风险**:安全文件、数据库迁移、配置文件、复杂更改(>100行)
- **中等风险**:API文件、服务文件、中等复杂度(50-100行)
- **低风险**:文档,简单更改(\<50行)
## 📖 文档
- **[安装指南](SETUP_GUIDE.md)**:详细的设置说明
- **[例子](../examples/)**:工作代码示例和验证脚本
## 🤝 贡献
1. 分叉存储库
1. 创建要素分支: `git checkout -b feature-name`
1. 手动进行更改和测试
1. 验证AI代理功能: `python examples/test_ollama.py`
1. 使用真实的GitLab合并请求进行测试
1. 提交拉取请求
### 开发设置
Install dependencies
pip install -r requirements.txt
Verify setup
python examples/demo_analysis.py
## 📝 许可证
MIT许可证-有关详细信息,请参阅许可证文件。
## 🆘 故障排除
### 常见问题
1. **导入错误**:确保您已安装了以下软件包 `pip install -e .`
1. **GitLab连接**:验证您的令牌是否具有正确的权限并且尚未过期
1. **MCP安装**:确保Cursor启用了MCP支持
### 调试模式
Run with debug logging
export PYTHONPATH=src python -m gitlab_mcp.server --log-level debug
______________________________________________________________________
**准备好开始了吗?** 看看 [安装指南](SETUP_GUIDE.md) 详细说明!