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!