Este repositório reúne três projetos de automação de testes web desenvolvidos com Robot Framework, organizados por nível de complexidade: básico, intermediário e avançado.
Cada nível foi planejado para aplicar boas práticas de automação e demonstrar evolução técnica, incluindo:
- Page Object Model (POM) - Padrão de projeto para melhor organização e manutenibilidade
- Princípio DRY (Don't Repeat Yourself) - Reutilização de código e keywords
- Manipulação de Elementos Web - Uso avançado da SeleniumLibrary
- Geração de Dados Dinâmicos - Uso da biblioteca FakerLibrary para testes mais robustos
- Modularização e Escalabilidade - Estrutura preparada para crescimento do projeto
- CI/CD - Integração contínua com GitHub Actions
- Disponibilização de relatórios via GitHub Pages
- Documentação Clara - Código legível e bem documentado
🎯 O objetivo é demonstrar uma abordagem eficiente, escalável e alinhada à Engenharia de Qualidade, desde a concepção até a entrega contínua dos testes automatizados.
📖 Clique para expandir detalhes
Este projeto nasceu a partir de um desafio técnico para uma vaga de Analista de QA Pleno, no qual fui avaliada em:
- ✔️ Conceitos fundamentais de testes de software
- ✔️ Elaboração de cenários de teste (BDD/Gherkin)
- ✔️ Automação de testes com Robot Framework
A partir desse case inicial, aperfeiçoei a solução e a transformei em um portfólio completo de automação para evidenciar crescimento técnico e maturidade na automação de testes.
💬 Esse projeto não representa somente uma entrega técnica, mas também minha jornada de aprendizado e evolução como profissional de QA/QE.
📖 Clique para expandir detalhes
-
📐 Page Object Model (POM) Separação clara entre a lógica de teste e a interação com elementos da página, facilitando manutenção e escalabilidade.
-
🔄 Princípio DRY (Don't Repeat Yourself) Reutilização máxima de código através de keywords customizadas, evitando duplicação e reduzindo esforço de manutenção.
-
🎲 Dados Dinâmicos Uso da FakerLibrary para geração de dados de teste realistas e variados, aumentando a cobertura dos testes.
-
🧩 Modularização Organização do código em camadas (tests, pages, resources), promovendo clareza e facilitando colaboração.
-
📝 Nomenclatura Clara Nomes descritivos para testes, keywords e variáveis, tornando o código auto-explicativo.
-
📚 Documentação Cada keyword e teste possui documentação clara sobre seu propósito e funcionamento.
🧠 Competências Desenvolvidas
- Automação de testes web com Robot Framework
- Implementação do padrão de projeto (POM)
- Escrita de código limpo, reutilizável e manutenível
- Uso de bibliotecas externas (Faker, String Library)
- Versionamento de código com Git
- Repositórios remoto com GitHub
- Implementação de CI/CD com GitHub Actions
- Disponibilização de relatórios via GitHub Pages
- Uso do rebot para manipular execuções em múltiplos navegadores
- Documentação técnica completa
📖 Clique para expandir detalhes
Este projeto implementa integração contínua usando GitHub Actions para garantir a qualidade do código:
- ✅ Execução automática dos testes a cada push/pull request
- ✅ Testes em múltiplos navegadores (Chrome, Firefox, Edge)
- ✅ Geração automática de relatórios
- ✅ Publicação no GitHub Pages
Os relatórios de execução dos testes estão disponíveis publicamente:
🔗 Acessar Relatórios no GitHub Pages
| Sistema | Objetivo | Link |
|---|---|---|
| TodoMVC | Introdução aos fundamentos do Robot Framework com testes de interface web | 📂 Acessar Projeto Básico |
📖 Clique para expandir detalhes
- ✅ Adição de múltiplas atividades
- ✅ Marcação de atividades como concluídas
- ✅ Filtragem e limpeza de atividades concluídas
- ✅ Exclusão de atividades
- Estruturação básica de testes com Robot Framework
- Manipulação de elementos web com SeleniumLibrary
- Page Object Model (POM) para a página principal do sistema
- Tratamento de elementos (locators) dinâmicos
- Validação de funcionalidades básicas de UI
- Modularização completa do código
- DRY e reutilização máxima de keywords
- Geração de dados dinâmicos com String Library
- Documentação Clara
| Sistema | Objetivo | Link |
|---|---|---|
| SauceDemo | Implementar padrão POM completo com dados dinâmicos e múltiplos cenários de usuário | 📂 Acessar Projeto Intermediário |
📖 Clique para expandir detalhes
- ✅ Login com diferentes perfis de usuário (
standard_user,performance_glitch_user) - ✅ Manipulação do carrinho (adição e remoção de produtos)
- ✅ Validar fluxo completo de compra (checkout)
- ✅ Testar comportamento com carrinho vazio no checkout
- ✅ Validar cálculos de subtotal e total
- Manipulação de elementos web com SeleniumLibrary
- Tratamento de elementos (locators) dinâmicos
- POM avançado com múltiplas páginas e fluxos complexos
- Geração de massa de dados realista com Faker Library
- Modularização completa do código
- DRY e reutilização máxima de keywords
- Testes data-driven (múltiplos usuários)
- Documentação Clara
| Sistema | Objetivo | Link |
|---|---|---|
| TestFire | Automação de cenários complexos com validações de dados e transações financeiras | 📂 Acessar Projeto Avançado |
📖 Clique para expandir detalhes
- ✅ Login no sistema bancário
- ✅ Transferência entre contas com validação de dados
- ✅ Verificação de extrato de transações
- ✅ Listagem e validação de histórico de transações
- ✅ Validação de saldo atualizado após operações
- Manipulação de elementos web com SeleniumLibrary
- POM avançado com múltiplas páginas e fluxos complexos
- Geração de massa de dados realista com Faker Library
- Validações de dados financeiros e cálculos
- Modularização completa do código
- Tratamento de elementos dinâmicos
- DRY e reutilização máxima de keywords
- Documentação Clara
Este projeto foi desenvolvido com as seguintes ferramentas e tecnologias. Certifique-se de que sua máquina atende aos requisitos abaixo para executar os testes.
📦 Clique para expandir os requisitos
-
🧩 Linguagem e Frameworks:
- Python: Linguagem de programação base para o Robot Framework e suas bibliotecas. Download Versão 3.13.2 ou superior
- Robot Framework: Framework de automação de testes com sintaxe baseada em palavras-chave Download Versão 7.3.2 ou superior
- SeleniumLibrary: Biblioteca essencial para a automação de testes web. Documentação
- Faker Library: Biblioteca utilizada para a geração de massa de dados dinâmicos. Documentação
-
💻 Ferramentas de Desenvolvimento e Controle de Versão:
- Visual Studio Code: IDE utilizada para o desenvolvimento dos testes. Download VS Code
- Git Utilizado para o controle de versão. Download Git
- GitHub: Utilizado para o compartilhamento de código. GitHub
-
🌐 Configuração do Ambiente de Execução:
- Navegador: Um navegador instalado (como Chrome, Microsoft Edge ou Firefox).
- WebDriver: O WebDriver compatível com a versão do seu navegador deve ser baixado e adicionado ao PATH do sistema.
Documentação e links de instalação estão detalhados dentro de cada projeto.
O repositório está organizado em pastas, cada uma correspondente a um nível de complexidade:
▶️ Ver estrutura de diretórios
📦 testes_automatizados_web
┣ 📂 automacao_basico/ # Contém os testes de interface web do nível básico
┃ ┣ 📂 tests/ # Arquivos de teste
┃ ┣ 📂 resources/ # Keywords e variáveis
┃ ┣ 📂 pages/ # Page Objects
┃ ┗ 📄 README.md # Documentação completa do projeto básico
┃
┣ 📂 automacao_intermediario/ # Contém os testes de interface web do nível intermediário
┃ ┣ 📂 tests/ # Arquivos de teste
┃ ┣ 📂 resources/ # Keywords e variáveis
┃ ┣ 📂 pages/ # Page Objects
┃ ┗ 📄 README.md # Documentação completa do projeto intermediário
┃
┣ 📂 automacao_avancado/ # Contém os testes de interface web do nível avançados
┃ ┣ 📂 tests/ # Arquivos de teste
┃ ┣ 📂 resources/ # Keywords e variáveis
┃ ┣ 📂 pages/ # Page Objects
┃ ┗ 📄 README.md # Documentação completa do projeto avançado
┃
┣ 📂 .github/ # Configurações GitHub Actions
┃ ┗ 📂 workflows/ # Workflows de CI/CD
┃
┣ 📄 .gitignore # Arquivo que lista os diretórios e arquivos a serem ignorados pelo Git.
┗ 📄 README.md # Este arquivo - Documentação principal do repositório