Pular para o conteúdo principal

Robot Framework

Python Version Robot Framework Version

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

  1. Criar um ambiente virtual Python:
    python -m venv venv
    source venv/bin/activate # No Windows: venv\Scripts\activate
  2. Instalar dependências:
    pip install -r requirements.txt

🚀 Como executar os testes

  1. Executar todos os testes:
    make test-all
  2. Executar testes por tag específica:
    make test-scenario TAG=<tag>
  3. Executar um arquivo de teste específico:
    make test-file FILE_PATH=<path_do_arquivo>
  4. 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.

📚 Recursos Úteis