Repositório dedicado à automação de testes de sites que já passaram por uma bateria de testes manuais. Os testes automatizados aqui desenvolvidos têm como base os cenários, casos de teste e documentação disponíveis no repositório de testes manuais: 🔗 Acesse o repositório de testes manuais
Além disso, este projeto também incluirá testes implementados com Robot Framework, permitindo comparar estratégias, padrões e abordagens de automação entre diferentes ferramentas.
Este projeto tem como objetivo:
- Automatizar os cenários e casos de teste previamente validados manualmente;
- Aumentar a cobertura de testes e a confiabilidade das aplicações testadas;
- Promover boas práticas em automação de testes;
- Servir como referência e apoio para a comunidade de QA e profissionais em transição de carreira;
- Explorar múltiplas ferramentas de automação, integrando testes feitos com Cypress e Robot Framework nos mesmos sites, para fins de aprendizado e comparação técnica.
- Cypress — Framework de automação de testes end-to-end.
- Cypress Cloud — Monitoramento e análise de execuções em nuvem.
- JavaScript — Linguagem principal dos testes com Cypress.
- Cucumber / Gherkin — Escrita de cenários em linguagem natural (BDD), quando necessário.
- Robot Framework — Framework de automação baseado em palavras-chave, utilizado para expandir a cobertura de testes e diversificar abordagens.
- SeleniumLibrary — Suporte a testes web dentro do Robot Framework.
- Git — Controle de versão.
- GitHub — Hospedagem do código e versionamento.
- GitHub Actions — CI/CD para executar testes automaticamente.
Testes-Automatizados/
│
├── site-exemplo-01/
│ ├── cypress/
│ ├── robot/
│ ├── cypress.config.js
│ ├── robot.config
│ └── package.json
│
├── site-exemplo-02/
│ ├── cypress/
│ ├── robot/
│ ├── ...
│
└── README.md
Cada pasta representa um projeto individual com seus próprios testes automatizados, tanto em Cypress quanto em Robot Framework, organizados de forma modular para facilitar o entendimento, o estudo e a manutenção.
Importante: para executar os testes de um site você sempre deve entrar na pasta desse site (por exemplo
cd site-exemplo-01) antes de rodar os comandos abaixo — cada subprojeto tem suas dependências/configurações isoladas.
Instale as ferramentas abaixo (links oficiais):
- Node.js (inclui
npm) — https://nodejs.org/ - Python 3 — https://www.python.org/
- pip (gerenciador de pacotes Python) — geralmente já vem com o Python.
- Git — https://git-scm.com/
Dica: no macOS você também pode usar
brewpara instalar (brew install node,brew install python).
# clonar o repositório principal
git clone https://github.com/Miguelluisdev/Testes-Automatizados.git
cd Testes-AutomatizadosCada site tem suas dependências próprias. Exemplo:
cd site-exemplo-01Repita esse passo para cada site que quiser executar.
Dentro da pasta do site:
# instalar dependências Node (package.json)
npm installSe o projeto usa npm ci em CI, pode usar npm ci localmente quando quiser instalar de forma reprodutível.
No diretório do site (ex.: site-exemplo-01):
# abrir Cypress em modo interativo (útil durante desenvolvimento)
npx cypress open
# executar testes em modo headless (CI / execução local sem GUI)
npx cypress runSe desejar executar apenas uma spec específica:
npx cypress run --spec "cypress/e2e/meu_teste.cy.js"Dentro da pasta do site (ex.: site-exemplo-01), crie um ambiente Python isolado (opcional, recomendado):
# criar virtualenv (recomendado)
python -m venv .venv
# ativar (Linux/macOS)
source .venv/bin/activate
# ativar (Windows PowerShell)
.\\.venv\\Scripts\\Activate.ps1Instale o Robot Framework e bibliotecas necessárias:
pip install --upgrade pip
pip install robotframework
pip install robotframework-seleniumlibrary
pip install webdriver-managerObservação: alguns projetos podem incluir um
requirements.txtcom versões fixas — se existir, usepip install -r requirements.txt.
Ainda no diretório do site (presumindo estrutura robot/tests/):
# executar toda a suíte de testes Robot
robot robot/tests/
# executar um arquivo de testes específico
robot robot/tests/minha_suite.robotResultados serão gerados em report.html, log.html e output.xml (padrão do Robot Framework) no diretório em que os testes foram executados.
Se quiser um comando na raiz do subprojeto para executar ambos (Cypress + Robot) você pode criar scripts no package.json. Exemplo de scripts:
"scripts": {
"test:cypress": "cypress run",
"test:robot": "robot robot/tests/",
"test:all": "npm run test:cypress && npm run test:robot"
}Para executar:
npm run test:all(lembre-se de estar na pasta do site).
- Certifique-se de que os drivers do navegador (ChromeDriver / geckodriver) estejam acessíveis ao Robot Framework. O
webdriver-managerpode ajudar a baixar/gerenciar drivers automaticamente. - Caso o Robot não encontre o Chrome/Firefox, verifique o PATH ou instale o driver com
webdriver-manager. - Se algum teste espera dados de teste (fixtures), verifique os arquivos na pasta
fixtures/do subprojeto. - Para evitar “flaky tests”, use esperas explícitas e seletores resilientes (data-attributes).
- Em CI (GitHub Actions), prefira rodar
npx cypress run --recordcom variável de ambiente para o token, erobotcom opções para gerar relatórios.
Este repositório é aberto à colaboração! Caso tenha ideias de melhorias, sugestões de sites para testar, feedbacks ou deseje contribuir com novos testes automatizados (em Cypress ou Robot Framework), sinta-se à vontade para abrir uma issue ou pull request.