Test Automator
Um servidor alimentado por LLM para automatizar testes unitários, de integração, E2E e de API.
Documentação
🤖 Test Automator
Uma plataforma abrangente, inteligente e extensível de automação de testes, alimentada por Grandes Modelos de Linguagem. O Test Automator simplifica o processo de geração, execução e análise de diversos tipos de testes de software (unitários, de integração, ponta a ponta, API) tanto para UI web quanto para lógica de backend.
✨ Recursos
🧠 Geração de Testes com LLM
- Análise Inteligente: Analisa automaticamente seu código para entender a estrutura e as dependências
- Casos de Teste Inteligentes: Gera cenários de teste abrangentes, incluindo casos extremos e condições de erro
- Consciente do Contexto: Entende seus padrões de código e gera testes idiomáticos
- Suporte a Múltiplos Idiomas: Otimizado para Python com arquitetura extensível
🔧 Tipos de Teste Abrangentes
🔬 Testes Unitários
- Analisa funções, métodos e classes individuais
- Gera funções de teste pytest com fixtures adequadas
- Inclui cenários positivos, negativos e de casos extremos
- Lida com padrões de código síncronos e assíncronos
🔗 Testes de Integração
- Testa interações entre diferentes módulos e serviços
- Simula interações reais entre componentes
- Utiliza estratégias de mocking apropriadas
- Testa fluxos de configuração e inicialização
🌐 Testes Ponta a Ponta (E2E)
- Automação de navegador usando Playwright e browser-use
- Simula interações reais de usuários
- Testa fluxos de trabalho completos do usuário
- Captura capturas de tela e gera relatórios visuais
🚀 Testes de API
- Testes abrangentes de endpoints HTTP
- Validação de requisição/resposta
- Testes de autenticação e autorização
- Testes de desempenho e tempo limite
📊 Relatórios Inteligentes
- Análise Aprimorada por LLM: Insights gerados por IA a partir dos resultados dos testes
- Suporte a Múltiplos Formatos: Análise de relatórios XML, JSON e HTML
- Recomendações Acionáveis: Sugestões específicas para melhoria
- Avaliação de Riscos: Identifica áreas críticas que precisam de atenção
🛠️ Instalação
Pré-requisitos
- Python 3.11+
- Chave da API do Google (para Gemini LLM)
- Claude Code ou Cursor com suporte a MCP
- Git
Instalação Rápida
Windows (Nativo ou 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
⚙️ Configuração
1. Obter a Chave da API do Google
- Visite Google AI Studio
- Crie uma nova chave de API
- Defina a variável de ambiente:
# Windows set GOOGLE_API_KEY=your_api_key_here # Linux/macOS/WSL export GOOGLE_API_KEY=your_api_key_here
2. Configurar o Claude Code
Opção A: Configuração via CLI
claude mcp add test-automator "/path/to/test-automator/.venv/bin/test-automator" -e "GOOGLE_API_KEY=your_api_key"
Opção B: Configuração Manual
Adicione à configuração do seu 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"
}
}
}
}
}
}
Exemplos de Caminhos no Windows
- Windows:
C:/path/to/test-automator/.venv/Scripts/test-automator.exe - WSL:
/home/username/test-automator/.venv/bin/test-automator
🚀 Uso
Ferramentas MCP Disponíveis
generate_tests(code_path, test_type="all")
Gere testes inteligentes para seu 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/")
Execute os testes gerados:
# Run all tests
run_tests("all", "/path/to/tests")
# Run specific test type
run_tests("unit", "/path/to/tests")
analyze_test_report(report_path)
Obtenha insights alimentados por LLM a partir dos resultados dos testes:
analyze_test_report("/path/to/test_results.xml")
Exemplo de Fluxo de Trabalho
# 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")
🎯 Recursos Avançados
Suporte a Grandes Bases de Código (100k-200k linhas)
- Análise Modular: Processa o código em blocos gerenciáveis
- Testes Incrementais: Gera testes incrementalmente para melhor desempenho
- Execução Paralela: Suporta pytest-xdist para execução paralela de testes
- Filtragem Inteligente: Foca em unidades testáveis para evitar sobrecarregar o LLM
Compatibilidade Multiplataforma
- Windows Nativo: Suporte completo com tratamento adequado de caminhos
- Integração WSL: Suporte contínuo ao Subsistema Windows para Linux
- Linux/macOS: Suporte nativo a Unix
- Tratamento de Event Loop: Otimizações assíncronas específicas da plataforma
Otimizações de Desempenho
- Operações Assíncronas: Execução de testes sem bloqueio
- Processamento em Lote: Tratamento eficiente de múltiplos arquivos de teste
- Gerenciamento de Recursos: Limpeza adequada e gerenciamento de memória
- Tratamento de Tempo Limite: Tempos limite configuráveis para diferentes tipos de teste
📁 Estrutura do Projeto
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
🔧 Solução de Problemas
Problemas Comuns
"GOOGLE_API_KEY não 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 Playwright não encontrados"
# Install browsers
playwright install
# Install system dependencies (Linux)
playwright install-deps
Problemas de Permissão no Windows
# Ensure script execution is enabled
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Check virtual environment activation
.venv\\Scripts\\activate
Problemas de Exibição no WSL (para testes E2E)
# Install X11 server for Windows
# Add to ~/.bashrc:
export DISPLAY=:0.0
🤝 Contribuindo
- Faça um fork do repositório
- Crie um branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add amazing feature') - Envie para o branch (
git push origin feature/amazing-feature) - Abra um Pull Request
📄 Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
🙏 Agradecimentos
- Gemini LLM: O poderoso modelo de linguagem do Google para geração inteligente de testes
- Playwright: Framework de automação de navegador entre navegadores
- pytest: Framework robusto de testes em Python
- Protocolo MCP: Protocolo de Contexto de Modelo para integração contínua com IA
- Claude Code: Ambiente de desenvolvimento alimentado por IA