QA自动化调度器

一个本地MCP服务器,将QA提示作为资源公开,并提供工具用于使用Playwright生成和迁移自动化测试。

  • by criquil
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 criquil/MCP2

使用说明

QA自动化调度程序-MCP服务器

本地MCP(Model Context Protocol)服务器,将QA提示作为资源公开,并为使用PlayWright生成和迁移自动化测试提供工具。

🎯 这是什么?

该项目将您的QA提示符集合转换为 MCP服务器本地 可由以下人员消费:

  • ✅ GitHub Copilot (通过VSCode)
  • ✅ 克劳德桌面
  • ✅ 任何MCP客户

利润

  1. 集中访问:您所有可用的提示作为MCP资源
  2. 自动化工作流:运行完整流的工具(Excel→测试、Selenium→PlayWright等)
  3. 综合验证:自动验证测试结构
  4. 上下文:维护交互之间的上下文

🚀 快速安装

1.安装依赖项

# Opción 1: Con pip
pip install mcp playwright pytest pytest-playwright pandas openpyxl pyyaml jinja2

# Opción 2: Con el proyecto
pip install -e .

2.不稳定的剧作家浏览器

playwright install chromium

3.在vscode/claude桌面上配置

对于Claude桌面:

编辑 ~/AppData/Roaming/Claude/claude_desktop_config.json (Windows)o ~/Library/Application Support/Claude/claude_desktop_config.json (Mac):

{
  "mcpServers": {
    "qa-automation-dispatcher": {
      "command": "python",
      "args": [
        "c:\\Users\\crisq\\Documents\\MCP2\\mcp-server.py"
      ]
    }
  }
}

致GitHub副总裁(vscode):

添加到您的 settings.json (用户设置):

{
  "github.copilot.advanced": {
    "mcp": {
      "servers": {
        "qa-automation-dispatcher": {
          "command": "python",
          "args": ["c:\\Users\\crisq\\Documents\\MCP2\\mcp-server.py"]
        }
      }
    }
  }
}

📖 详细指南:Ver VSCODE_SETUP.md 有关逐步说明。

📄 示例文件: vscode-settings-example.json

4.Reiniciar VSCode/Claude桌面

📚 可用资源

服务器将您的所有提示作为MCP资源公开:

URI 描述
prompt://copilot_instructions 首席协调员
prompt://page_object_model POM结构
prompt://playwright_mcp_server 用MCP服务器扫描
prompt://pytest_marks 强制性标记
prompt://logger_reporting 测井系统
prompt://estrategia_selectores 选择器策略
prompt://generacion_excel 从Excel生成
prompt://migracion_external 外部框架迁移
prompt://troubleshooting 故障排除指南
prompt://lessons_learned 知识库
哦。..(以及更多)

🛠️ 工具(工具)

1. dispatch_workflow

执行完整的工作流并为Copilot生成指令。

可用工作流:

  • excel_to_tests -从Excel生成测试
  • selenium_migration 迁移 Selenium 测试
  • cypress_migration -Migrar测试赛普拉斯
  • junit_migration 迁移 JUnit 测试
  • new_project -创建新项目
  • create_page_object -Crear页面对象
  • troubleshoot_test -测试故障排除

使用示例:

# En Claude/Copilot:
"Usa dispatch_workflow con workflow_type='selenium_migration' 
y input_description='Login test from old Selenium suite'"

2. get_prompt_instructions

获取特定于提示符的指令。

例子:

"Usa get_prompt_instructions con prompt_name='page_object_model' 
y section='Buenas Prácticas'"

3. validate_test_structure

验证测试是否符合所有标准(POM、标记、日志等)。

例子:

"Valida este test: [código del test]"

4. generate_migration_plan

从外部框架生成详细的迁移计划。

例子:

"Genera un plan de migración desde Selenium para un test de login"

💡 使用示例

例1:迁移硒测试

Usuario: "Necesito migrar este test de Selenium a Playwright"

[Pega código Selenium]

Copilot/Claude (usando MCP):
1. Llama a dispatch_workflow(workflow_type="selenium_migration", ...)
2. Recibe instrucciones estructuradas
3. Lee los prompts necesarios via prompt://migracion_external, etc.
4. Genera el código Playwright siguiendo TODAS las reglas
5. Valida con validate_test_structure

例2:从Excel生成测试

Usuario: "Tengo un Excel con 10 casos de prueba, genera los tests"

Copilot/Claude (usando MCP):
1. Llama a dispatch_workflow(workflow_type="excel_to_tests", ...)
2. Lee prompt://generacion_excel
3. Lee prompt://page_object_model
4. Genera Page Objects y tests
5. Aplica marks, logging, etc.

示例3:创建新页面对象

Usuario: "Necesito un Page Object para la página de checkout"

Copilot/Claude (usando MCP):
1. Llama a dispatch_workflow(workflow_type="create_page_object", ...)
2. Lee prompt://page_object_model
3. Lee prompt://estrategia_selectores
4. Sugiere usar Playwright MCP Server para validar selectores
5. Genera el Page Object siguiendo estructura POM

🔧 发展

项目结构

MCP2/
├── mcp-server.py           # Servidor MCP principal
├── pyproject.toml          # Configuración del proyecto
├── prompts/                # Todos tus prompts
│   ├── copilot-instructions.md
│   ├── page-object-model.prompt.md
│   └── ...
├── dispatcher/             # (Futuro) Lógica del dispatcher
├── helpers/                # (Futuro) Utilidades
├── pages/                  # Page Objects generados
├── tests/                  # Tests generados
└── reports/                # Reportes de ejecución

手动运行服务器

python mcp-server.py

服务器根据MCP协议通过STDIO(STDIN/STDOUT)进行通信。

测试服务器

# Instalar dependencias de desarrollo
pip install -e ".[dev]"

# Ejecutar tests
pytest tests/

📖 Detallados工作流程

Excel→ 剧作家测试

  1. 输入:带有测试用例的Excel文件
  2. 应用提示:
    • generacion_excel -生成过程
    • extraer_casos -案例提取
    • page_object_model -POM结构
    • estrategia_selectores 选择器
    • pytest_marks -强制性标记
    • logger_reporting -日志记录
  3. 输出:页面对象+测试+报告

硒/柏树/JUnit→ 剧作家

  1. 输入:外部测试代码
  2. 应用提示:
    • migracion_external -迁移过程
    • page_object_model -POM结构
    • estrategia_selectores 选择器
    • pytest_marks -标记
    • logger_reporting -日志记录
    • troubleshooting -如果有问题
  3. 输出:页面对象+测试迁移+迁移日志

新项目

  1. 输入:项目名称
  2. 应用提示:
    • generate_boilerplate -锅炉板专用
    • estructura_proyecto -结构
    • page_object_model -POM基底
    • pytest_marks -配置标记
    • logger_reporting -测井系统
    • principios_qa -一般原则
  3. 输出:具有基本结构的完整项目

🎯 下一步

  1. 测试服务器:在Claude Desktop或VSCode中配置
  2. Ejecutar工作流程:用实际案例测试
  3. 扩展功能:根据需要添加更多工具
  4. 与IC/CD集成:在管道中使用调度器

🤝 争议

这是你的个人项目,但如果你想扩展它:

  1. 在中添加新工作流 WORKFLOWS
  2. 在中创建新工具 list_tools()
  3. 扩展验证 validate_test_structure()

📝 注释

  • 所有提示 英语 /prompts 自动作为资源公开
  • Los工作流 可以通过编辑自定义 WORKFLOWS 英语 mcp-server.py
  • 自我验证 目前是基本的,可以通过AST分析进行扩展
  • 服务器 它是无状态的-每个电话都是独立的

🐛 故障排除

服务器没有启动

# Verificar que Python y dependencias estén instaladas
python --version
pip list | grep mcp

vscode/claude看不到服务器

  1. 验证路由 mcp-settings.json 是正确的
  2. 完全重新启动应用程序
  3. 在开发控制台中检查日志

洛斯提示不要开车

  1. 检查 /prompts 存在并拥有文件
  2. 验证读取权限
  3. 检查服务器日志

问题? 直接使用MCP服务器查询提示😉