Por Victor Oliveira - QA Senior com mais de 13 anos de experiência
O Robot Framework é um dos frameworks de automação mais populares do mercado. Baseado em keyword-driven testing, ele permite que você escreva testes de forma legível e estruturada, usando uma sintaxe simples em formato de tabelas. Neste tutorial, você vai aprender como montar um projeto do zero, desde a instalação até a execução do primeiro teste.
1. O que é Robot Framework?
Robot Framework é um framework genérico de automação open-source para acceptance testing, ATDD (Acceptance Test-Driven Development) e RPA (Robotic Process Automation). Ele foi desenvolvido originalmente na Nokia Networks e hoje é mantido pela comunidade e pela Robot Framework Foundation.
Principais vantagens:
- Sintaxe intuitiva — testes escritos em arquivos .robot com formato de tabela
- Extensível — bibliotecas em Python e Java para Web, API, Mobile, Banco de Dados
- Relatórios nativos — logs e reports em HTML detalhados
- Integração CI/CD — funciona com Jenkins, GitHub Actions, GitLab CI
- Comunidade ativa — milhares de libraries disponíveis
2. Pré-requisitos
Antes de começar, você precisa ter instalado:
- Python 3.8+ — python.org/downloads
- pip — já vem com Python 3.4+
- Git (opcional, mas recomendado) — para versionamento
- VS Code (ou qualquer editor de sua preferência)
Verifique se o Python está instalado corretamente:
python --version
3. Instalação do Robot Framework
Com o Python instalado, abra o terminal e execute:
pip install robotframework
Para instalar a biblioteca mais comum para automação Web (Selenium):
pip install robotframework-seleniumlibrary
Outras bibliotecas úteis:
pip install robotframework-requests
pip install robotframework-databaselibrary
Verifique a instalação:
robot --version
4. Estrutura de Diretórios
Uma boa estrutura de projeto é essencial para manter a organização e facilitar a manutenção. Recomendo esta estrutura:
meu-projeto-robot/
├── tests/
│ ├── login_tests/
│ │ └── login.robot
│ └── cadastro_tests/
│ └── cadastro.robot
├── resources/
│ ├── keywords/
│ │ └── login_keywords.robot
│ ├── locators/
│ │ └── login_locators.robot
│ └── variables/
│ └── config.robot
├── results/
├── requirements.txt
└── README.md
Explicação das pastas:
- tests/ — casos de teste organizados por funcionalidade
- resources/ — arquivos reutilizáveis (keywords, variáveis, localizadores)
- results/ — relatórios gerados após a execução
- requirements.txt — dependências do projeto
5. Criando o Primeiro Teste
Crie o arquivo tests/primeiro_teste.robot:
*** Settings ***
Library SeleniumLibrary
*** Variables ***
${URL} https://google.com
${BROWSER} chrome
*** Test Cases ***
Acessar Google
Open Browser ${URL} ${BROWSER}
Title Should Be Google
Close Browser
Vamos entender cada seção:
- Settings — importa bibliotecas e recursos externos
- Variables — define variáveis usadas nos testes
- Test Cases — os casos de teste propriamente ditos
6. Executando o Teste
No terminal, dentro da pasta do projeto, execute:
robot tests/
Para executar um arquivo específico:
robot tests/primeiro_teste.robot
O Robot Framework vai gerar automaticamente três arquivos na pasta onde você executou o comando:
- report.html — relatório geral dos testes
- log.html — log detalhado passo a passo
- output.xml — saída em XML para integração com ferramentas
Para salvar os resultados em uma pasta específica:
robot --outputdir results tests/
7. Keywords Customizadas
Keywords são o coração do Robot Framework. Elas permitem criar blocos reutilizáveis de lógica. Crie o arquivo resources/keywords/login_keywords.robot:
*** Keywords ***
Fazer Login No Sistema
[Arguments] ${usuario} ${senha}
Input Text id=username ${usuario}
Input Text id=password ${senha}
Click Button id=login-btn
Wait Until Element Is Visible id=dashboard
Verificar Mensagem De Erro
[Arguments] ${mensagem_esperada}
Wait Until Page Contains ${mensagem_esperada}
Agora use essas keywords no seu teste:
*** Settings ***
Resource ../resources/keywords/login_keywords.robot
*** Test Cases ***
Login Com Sucesso
Fazer Login No Sistema admin senha123
Page Should Contain Bem-vindo
8. Trabalhando com Tags
Tags permitem categorizar e filtrar testes na execução:
*** Test Cases ***
Login Válido
[Tags] smoke regressao login
Fazer Login No Sistema admin senha123
Login Inválido
[Tags] regressao login
Fazer Login No Sistema admin senha_errada
Verificar Mensagem De Erro Usuário ou senha inválidos
Executar apenas testes com tag específica:
robot --include smoke tests/
robot --exclude regressao tests/
9. Data-Driven Testing
Robot Framework suporta testes orientados a dados nativamente usando Template:
*** Test Cases ***
Login Com Múltiplos Usuários
[Template] Fazer Login No Sistema
admin senha123
usuario_teste teste@123
guest guest_pass
O mesmo teste será executado para cada linha de dados.
10. Integração com CI/CD
Exemplo de pipeline com GitHub Actions:
name: Robot Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install robotframework
- run: pip install robotframework-seleniumlibrary
- run: robot --outputdir results tests/
- uses: actions/upload-artifact@v4
with:
name: robot-reports
path: results/
11. Dicas e Boas Práticas
- Mantenha keywords atômicas — cada keyword deve fazer uma coisa só
- Use nomes descritivos — Fazer Login No Sistema é melhor que Login
- Separe localizadores do código — use arquivos de resources para locators
- Sempre use waits explícitos — evite Sleep sempre que possível
- Versionamento — mantenha tudo no Git desde o início
- Documente suas keywords — use [Documentation] para explicar o propósito
*** Keywords ***
Clicar No Botão Salvar
[Documentation] Clica no botão salvar e aguarda a confirmação
Click Button css=button.save
Wait Until Page Contains Registro salvo com sucesso
12. Próximos Passos
Agora que você já sabe iniciar um projeto com Robot Framework, explore estes tópicos:
- BrowserLibrary — alternativa moderna ao SeleniumLibrary (baseada em Playwright)
- Robot Framework com API — testes de API com RequestsLibrary
- Pabot — execução paralela de testes
- Robot Framework com Docker — ambientes isolados para execução
- DataDriver — para testes com dados em Excel/CSV
Continue acompanhando o QA Overflow para mais tutoriais práticos sobre automação de testes!