Robot Framework
Projeto de testes automatizados utilizando Robot Framework com suporte a paralelismo e integração de bibliotecas como Browser e Requests. Este projeto faz parte do monorepo QA Solar e foca em cenários complexos de testes, abrangendo tanto UI quanto API.
📋 Índice
- 🔧 Instalação
- 🚀 Como executar os testes
- 📂 Estrutura do Projeto
- 🛠️ Automação com Makefile
- 🏗️ Exemplo de Teste
- 📊 Relatórios
- 📚 Recursos Úteis
🔧 Instalação
- Criar um ambiente virtual Python:
python -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activate - Instalar dependências:
pip install -r requirements.txt
🚀 Como executar os testes
- Executar todos os testes:
make test-all
- Executar testes por tag específica:
make test-scenario TAG=<tag>
- Executar um arquivo de teste específico:
make test-file FILE_PATH=<path_do_arquivo>
- Executar com paralelismo:
make parallel
📂 Estrutura do Projeto
.
├── tests/
│ ├── data/ # Variáveis e dados reutilizáveis
│ ├── library/ # Bibliotecas customizadas feitas em Python
│ ├── resources/ # Keywords e outros recursos para testes
│ ├── specs/ # Testes
├── results/ # Relatórios e logs gerados
├── .env # Variáveis de ambiente
├── Makefile # Scripts para automatização
├── requirements.txt # Dependências do Python
├── package.json # Informações do monorepo
🛠️ Automação com Makefile
O Makefile
oferece comandos úteis para executar, limpar e validar os testes. Alguns exemplos:
- Limpar resultados anteriores:
make clean
- Validar estilo com Robocop:
make lint
- Formatar arquivos
.robot
com Robotidy:make tidy
- Executar com argumentos personalizados:
make test-args
🏗️ Exemplo de Teste
*** Settings ***
Documentation Descrição clara do que o teste faz
Resource ../resources/keywords.resource
Library Browser
Test Setup Preparar Teste
Test Teardown Limpar Teste
*** Test Cases ***
Cenário 1: Descrição do Cenário
[Documentation] Explicação detalhada do teste
[Tags] smoke ui
# Implementação do teste
📊 Relatórios
Os relatórios são gerados na pasta results/reports
com o formato padrão do Robot Framework. Em execuções paralelas, os logs individuais ficam em results/logs
.