Test Automator
Un servidor impulsado por LLM para automatizar pruebas unitarias, de integración, E2E y de API.
Documentación
🤖 Test Automator
Una plataforma integral, inteligente y extensible de automatización de pruebas impulsada por Modelos de Lenguaje de Gran Escala. Test Automator optimiza el proceso de generar, ejecutar y analizar varios tipos de pruebas de software (unitarias, de integración, de extremo a extremo, API) tanto para interfaces web como para lógica de backend.
✨ Características
🧠 Generación de Pruebas Impulsada por LLM
- Análisis Inteligente: Analiza automáticamente tu código para comprender la estructura y las dependencias
- Casos de Prueba Inteligentes: Genera escenarios de prueba integrales, incluidos casos límite y condiciones de error
- Consciente del Contexto: Comprende tus patrones de código y genera pruebas idiomáticas
- Soporte Multi-Lenguaje: Optimizado para Python con arquitectura extensible
🔧 Tipos de Pruebas Integrales
🔬 Pruebas Unitarias
- Analiza funciones, métodos y clases individuales
- Genera funciones de prueba pytest con fixtures adecuados
- Incluye escenarios positivos, negativos y de casos límite
- Maneja patrones de código síncronos y asíncronos
🔗 Pruebas de Integración
- Prueba interacciones entre diferentes módulos y servicios
- Simula interacciones reales entre componentes
- Utiliza estrategias de mocking apropiadas
- Prueba flujos de configuración e inicialización
🌐 Pruebas de Extremo a Extremo (E2E)
- Automatización de navegador usando Playwright y browser-use
- Simula interacciones reales de usuario
- Prueba flujos de trabajo completos de usuario
- Captura capturas de pantalla y genera informes visuales
🚀 Pruebas de API
- Pruebas integrales de endpoints HTTP
- Validación de solicitudes/respuestas
- Pruebas de autenticación y autorización
- Pruebas de rendimiento y tiempo de espera
📊 Informes Inteligentes
- Análisis Mejorado por LLM: Información impulsada por IA a partir de resultados de pruebas
- Soporte Multi-Formato: Análisis de informes XML, JSON y HTML
- Recomendaciones Accionables: Sugerencias específicas para mejorar
- Evaluación de Riesgos: Identifica áreas críticas que necesitan atención
🛠️ Instalación
Requisitos Previos
- Python 3.11+
- Clave de API de Google (para Gemini LLM)
- Claude Code o Cursor con soporte MCP
- Git
Instalación Rápida
Windows (Nativo o WSL)
# Clone the repository
git clone https://github.com/your-repo/test-automator.git
cd test-automator
# Create virtual environment
python -m venv .venv
.venv\\Scripts\\activate # Windows
# or
source .venv/bin/activate # WSL/Linux
# Install dependencies
pip install -e .
# Install Playwright browsers
playwright install
Linux/macOS
# Clone and setup
git clone https://github.com/your-repo/test-automator.git
cd test-automator
# Create virtual environment
python3.11 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -e .
# Install Playwright browsers
playwright install
⚙️ Configuración
1. Obtener Clave de API de Google
- Visita Google AI Studio
- Crea una nueva clave de API
- Establece la variable de entorno:
# Windows set GOOGLE_API_KEY=your_api_key_here # Linux/macOS/WSL export GOOGLE_API_KEY=your_api_key_here
2. Configurar Claude Code
Opción A: Configuración CLI
claude mcp add test-automator "/path/to/test-automator/.venv/bin/test-automator" -e "GOOGLE_API_KEY=your_api_key"
Opción B: Configuración Manual
Agrega a tu configuración de Claude Code (~/.claude.json):
{
"projects": {
"/your/project/path": {
"mcpServers": {
"test-automator": {
"type": "stdio",
"command": "/path/to/test-automator/.venv/bin/test-automator",
"env": {
"GOOGLE_API_KEY": "your_api_key_here"
}
}
}
}
}
}
Ejemplos de Rutas de Windows
- Windows:
C:/path/to/test-automator/.venv/Scripts/test-automator.exe - WSL:
/home/username/test-automator/.venv/bin/test-automator
🚀 Uso
Herramientas MCP Disponibles
generate_tests(code_path, test_type="all")
Genera pruebas inteligentes para tu código:
# Generate all test types
generate_tests("/path/to/your/code", "all")
# Generate specific test type
generate_tests("/path/to/your/api.py", "unit")
generate_tests("/path/to/your/project", "integration")
generate_tests("/path/to/your/webapp", "e2e")
generate_tests("/path/to/your/api", "api")
run_tests(test_type="all", target_path="tests/")
Ejecuta las pruebas generadas:
# Run all tests
run_tests("all", "/path/to/tests")
# Run specific test type
run_tests("unit", "/path/to/tests")
analyze_test_report(report_path)
Obtén información impulsada por LLM de los resultados de las pruebas:
analyze_test_report("/path/to/test_results.xml")
Flujo de Trabajo de Ejemplo
# 1. Generate comprehensive tests
generate_tests("/home/user/my-project", "all")
# 2. Run the tests
run_tests("all", "/home/user/my-project/tests")
# 3. Analyze results
analyze_test_report("/home/user/my-project/tests/results/unit_results.xml")
🎯 Características Avanzadas
Soporte para Código Grande (100k-200k líneas)
- Análisis Modular: Procesa el código en fragmentos manejables
- Pruebas Incrementales: Genera pruebas de forma incremental para mejor rendimiento
- Ejecución Paralela: Soporta pytest-xdist para ejecuciones de pruebas en paralelo
- Filtrado Inteligente: Se enfoca en unidades comprobables para evitar sobrecargar el LLM
Compatibilidad Multi-Plataforma
- Windows Nativo: Soporte completo con manejo adecuado de rutas
- Integración WSL: Soporte fluido de Windows Subsystem for Linux
- Linux/macOS: Soporte nativo de Unix
- Manejo de Bucle de Eventos: Optimizaciones asíncronas específicas de la plataforma
Optimizaciones de Rendimiento
- Operaciones Asíncronas: Ejecución de pruebas sin bloqueo
- Procesamiento por Lotes: Manejo eficiente de múltiples archivos de prueba
- Gestión de Recursos: Limpieza adecuada y gestión de memoria
- Manejo de Tiempos de Espera: Tiempos de espera configurables para diferentes tipos de pruebas
📁 Estructura del Proyecto
test-automator/
├── test_automator/
│ ├── __init__.py
│ ├── mcp_server.py # Main MCP server with tools
│ ├── test_generator.py # LLM-powered test generation
│ ├── test_runner.py # Cross-platform test execution
│ └── report_analyzer.py # AI-enhanced report analysis
├── pyproject.toml # Package configuration
└── README.md # This file
🔧 Solución de Problemas
Problemas Comunes
"GOOGLE_API_KEY no encontrada"
# Set the environment variable
export GOOGLE_API_KEY="your_api_key_here"
# Or add to shell profile
echo 'export GOOGLE_API_KEY="your_api_key"' >> ~/.bashrc
"Navegadores de Playwright no encontrados"
# Install browsers
playwright install
# Install system dependencies (Linux)
playwright install-deps
Problemas de Permisos en Windows
# Ensure script execution is enabled
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Check virtual environment activation
.venv\\Scripts\\activate
Problemas de Visualización en WSL (para pruebas E2E)
# Install X11 server for Windows
# Add to ~/.bashrc:
export DISPLAY=:0.0
🤝 Contribuciones
- Haz un fork del repositorio
- Crea una rama de características (
git checkout -b feature/amazing-feature) - Realiza tus cambios (
git commit -m 'Add amazing feature') - Haz push a la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción (Pull Request)
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
🙏 Agradecimientos
- Gemini LLM: El poderoso modelo de lenguaje de Google para generación inteligente de pruebas
- Playwright: Marco de automatización de navegador multiplataforma
- pytest: Marco de pruebas robusto de Python
- Protocolo MCP: Protocolo de Contexto de Modelo para integración fluida de IA
- Claude Code: Entorno de desarrollo impulsado por IA