Pular para o conteúdo principal

📊 Relatórios e Cobertura

📋 Visão Geral

O projeto Robot Framework implementa um sistema abrangente de relatórios e monitoramento que fornece insights detalhados sobre a execução dos testes, logs de execução, screenshots de falhas e métricas de performance.

📈 Relatórios HTML

🎯 Configuração

O projeto utiliza o reporter HTML padrão do Robot Framework para gerar relatórios visuais interativos com análise detalhada de cada execução de teste.

📊 Características dos Relatórios

  • Interface Interativa: Navegação intuitiva pelos resultados
  • Detalhamento por Teste: Informações específicas de cada cenário
  • Timeline de Execução: Visualização temporal dos testes
  • Filtros Avançados: Busca por status, duração e tags
  • Métricas de Performance: Análise de tempo de execução
  • Screenshots: Capturas automáticas em caso de falha

🚀 Geração e Visualização

# Executar testes (gera relatório automaticamente)
make test-all

# Visualizar relatório HTML
open results/reports/report.html

# Executar com screenshots
BROWSER_OUTPUTDIR=results/screenshots robot --outputdir results/reports tests/specs

📁 Estrutura dos Relatórios

results/
├── reports/ # Relatórios HTML
│ ├── report.html # Relatório principal
│ ├── log.html # Log detalhado
│ ├── output.xml # Dados XML
│ └── pabot_results/ # Resultados paralelos (se aplicável)
│ ├── pabot_results_1/
│ ├── pabot_results_2/
│ └── ...
├── logs/ # Logs de execução
│ ├── robot_log.txt # Log principal
│ └── pabot_log.txt # Log de paralelização
└── screenshots/ # Screenshots de falhas
├── screenshot_1.png
├── screenshot_2.png
└── ...

📁 Estrutura de Resultados Paralelos

results/reports/
├── pabot_results/ # Resultados paralelos
│ ├── pabot_results_1/ # Processo 1
│ │ ├── report.html
│ │ ├── log.html
│ │ └── output.xml
│ ├── pabot_results_2/ # Processo 2
│ │ ├── report.html
│ │ ├── log.html
│ │ └── output.xml
│ └── ...
├── report.html # Relatório consolidado
├── log.html # Log consolidado
└── output.xml # Dados XML consolidados

📝 Logs e Debugging

⚙️ Configuração de Logging

# Executar com logs detalhados
robot --loglevel DEBUG --outputdir results/reports tests/specs

# Executar com logs específicos
robot --loglevel INFO --outputdir results/reports tests/specs

📊 Níveis de Log

  • TRACE: Informações muito detalhadas
  • DEBUG: Informações detalhadas para debugging
  • INFO: Informações gerais de execução
  • WARN: Avisos sobre situações anômalas
  • ERROR: Erros que não impedem a execução

🔍 Logs Específicos

  • Browser: Logs de interação com o navegador
  • API Calls: Logs de requisições HTTP
  • Test Execution: Logs de execução dos testes
  • Keyword Execution: Logs de execução de keywords

📊 Métricas e Análise

🎯 Métricas Disponíveis

  • Taxa de Sucesso: Percentual de testes que passam
  • Tempo de Execução: Duração média e total dos testes
  • Flaky Tests: Identificação de testes instáveis
  • Performance: Análise de tempo de resposta por teste
  • Paralelização: Eficiência da execução paralela

📈 Dashboard de Métricas

O relatório HTML inclui:

  • Resumo Executivo: Visão geral dos resultados
  • Gráficos de Performance: Visualização temporal
  • Análise de Falhas: Detalhamento de erros
  • Comparação Histórica: Tendências ao longo do tempo
  • Análise de Tags: Performance por categoria

🛠️ Configurações Avançadas

🔧 Personalização de Relatórios

# Executar com configurações específicas
robot --outputdir results/reports \
--log log.html \
--report report.html \
--output output.xml \
--loglevel INFO \
tests/specs

📊 Múltiplos Formatos

  • HTML: Relatório visual interativo
  • XML: Dados estruturados para integração
  • TXT: Logs em formato texto
  • JSON: Dados em formato JSON (com plugins)

📋 Boas Práticas

🎯 Otimização de Relatórios

  • Screenshots: Configurar apenas para falhas em produção
  • Logs: Usar nível apropriado para cada ambiente
  • Cleanup: Implementar limpeza automática de relatórios antigos
  • Aggregation: Consolidar relatórios de execuções paralelas

📊 Análise de Resultados

  • Revisar Falhas: Analisar screenshots e logs de falhas
  • Monitorar Performance: Acompanhar tendências de tempo de execução
  • Identificar Flaky Tests: Corrigir testes instáveis
  • Documentar Padrões: Registrar padrões de falha para melhorias

🔧 Configurações de Performance

# Makefile - Configurações otimizadas
PROCESSES = 4
OUTPUT_DIR = results/reports
OUTPUT_DIR_BROWSER = results

test-all: clean
@echo "Executando todos os testes com Robot Framework..."
BROWSER_OUTPUTDIR=$(OUTPUT_DIR_BROWSER)/screenshots robot --outputdir $(OUTPUT_DIR) $(TESTS_DIR)

parallel: clean
@echo "Executando testes em paralelo com Pabot..."
BROWSER_OUTPUTDIR=$(OUTPUT_DIR_BROWSER)/screenshots pabot --processes $(PROCESSES) --outputdir $(OUTPUT_DIR) $(TESTS_DIR)

📈 Métricas de Qualidade

  • Tempo Máximo: 15 minutos para execução completa
  • Taxa de Sucesso: 95% de testes passando
  • Paralelização: 4 processos para otimização
  • Screenshots: Capturas automáticas em falhas

🚀 Comandos Úteis

📊 Visualização de Relatórios

# Abrir relatório principal no navegador
open results/reports/report.html

# Abrir log detalhado no navegador
open results/reports/log.html

# Ver resumo no terminal
robot --outputdir results/reports tests/specs

🔍 Debugging

# Executar com logs detalhados
robot --loglevel DEBUG --outputdir results/reports tests/specs

# Executar teste específico
robot --outputdir results/reports tests/specs/login.robot

# Executar com tag específica
robot --outputdir results/reports --include login tests/specs

# Executar com screenshots
BROWSER_OUTPUTDIR=results/screenshots robot --outputdir results/reports tests/specs

🧹 Limpeza e Manutenção

# Limpar relatórios antigos
make clean

# Limpar apenas logs
make clean-logs

# Verificar qualidade do código
make lint

# Formatar arquivos
make tidy