Transforme-se em um QA Automation Expert em 4 módulos práticos!
Aprenda Cypress na prática com cenários reais, desafios progressivos e um projeto completo para seu portfólio!
- 🚀 Setup Rápido
- 📚 Módulos do Curso
- 🎯 Desafios Práticos
- 🛠️ Ferramentas
- 📖 Guias de Aprendizado
- 🏆 Metodologia
- 💼 Projetos para Portfólio
- 👥 Comunidade
- 📈 Progresso
| Tipo | Caminho | Descrição |
|---|---|---|
| Configuração | cypress.config.js |
Configuração principal do Cypress |
| Page Objects | cypress/e2e/pageObjects/ |
Seletores e ações reutilizáveis |
| Features | cypress/e2e/features/ |
Cenários de teste em Gherkin |
| Step Definitions | cypress/e2e/step_definitions/ |
Implementação dos passos |
| Suporte | cypress/support/ |
Comandos e configurações customizadas |
| Fixtures | cypress/fixtures/ |
Dados de teste |
- ✅ Módulo 1: Fundamentos do Cypress e primeiro teste (Login.feature)
- ✅ Módulo 2: Testes de API e integração (LoginApi.feature)
- ✅ Módulo 3: Interação com elementos e validações (FilterProducts.feature)
- ✅ Módulo 4: Fluxos complexos e Page Objects (AddItemCart.feature)
- Node.js 18+ instalado
- Conhecimento básico de JavaScript
- Vontade de aprender e praticar
- Git para versionamento
# Setup inicial (2 minutos)
git clone https://github.com/lucas-egswf/automation-test.git
cd automation-test
npm install
# Abrir Cypress (modo interativo)
npm run cypress:open
# Executar testes específicos
npm run test:module1 # Login.feature
npm run test:module2 # LoginApi.feature
npm run test:module3 # FilterProducts.feature
npm run test:module4 # AddItemCart.feature
# Executar todos os testes
npm run test:all
# Qualidade de código
npm run lint # Verificar código
npm run lint:fix # Corrigir problemas automaticamente
npm run format # Formatar código# 1. Clone o curso
git clone https://github.com/lucas-egswf/automation-test.git
cd automation-test
# 2. Instale as dependências
npm install
# 3. Abra o Cypress e comece a aprender!
npm run cypress:opene2e-workshop/
├── 📁 cypress/
│ ├── 📁 config/ # Configurações por ambiente
│ ├── 📁 e2e/ # Testes end-to-end
│ │ ├── 📁 features/ # Cenários em Gherkin
│ │ ├── 📁 pageObjects/ # Seletores reutilizáveis
│ │ └── 📁 step_definitions/ # Implementação dos passos
│ ├── 📁 fixtures/ # Dados de teste
│ └── 📁 support/ # Comandos customizados
├── 📄 cypress.config.js # Configuração principal
├── 📄 package.json # Dependências e scripts
└── 📚 Documentação completa
- O que você vai aprender: Primeiros passos com Cypress
- Conceitos:
cy.visit,cy.get,cy.type,cy.click, assertions básicas - Desafio: Implemente o teste de login e veja a mágica acontecer!
- Como escrever seu primeiro teste
- Comandos básicos do Cypress
- Assertions e validações
- Debugging e troubleshooting
- O que você vai aprender: Testes de API com Cypress
- Conceitos:
cy.request, validação de status codes, headers e responses - Desafio: Teste a API de login e valide as respostas!
- Como testar APIs com Cypress
- Validação de respostas HTTP
- Testes de integração backend
- Tratamento de diferentes cenários
- O que você vai aprender: Interação com elementos complexos
- Conceitos: Filtros, dropdowns, validação de resultados dinâmicos
- Desafio: Implemente testes de filtro e busca de produtos!
- Interação com elementos dinâmicos
- Validação de resultados filtrados
- Testes de funcionalidades de busca
- Assertions avançadas
- O que você vai aprender: Fluxos completos e Page Objects
- Conceitos: Page Object Model, fluxos de negócio, validações complexas
- Desafio: Crie um fluxo completo de adição ao carrinho!
- Arquitetura Page Object para testes manuteníveis
- Fluxos de negócio complexos
- Organização de código profissional
- Testes de integração entre funcionalidades
# Execute o Login.feature existente e depois modifique para:
Feature: Login Automatizado
Como um QA iniciante
Quero automatizar o processo de login
Para praticar os fundamentos do Cypress
Scenario: Login com sucesso
Given que estou na página de login
When preencho o campo "username" com "standard_user"
And preencho o campo "password" com "secret_sauce"
And clico no botão "Login"
Then devo ser redirecionado para o dashboard
And devo ver a mensagem "Products"Seu objetivo: Execute o teste existente e depois modifique para adicionar validações extras!
# Execute o AddItemCart.feature existente e depois expanda para:
Feature: Gerenciamento de Carrinho
Como um usuário logado
Quero gerenciar itens no carrinho
Para finalizar minha compra
Scenario: Adicionar produto ao carrinho
Given que estou logado como "standard_user"
And estou na página de produtos
When seleciono o produto "Sauce Labs Backpack"
And clico no botão "Add to cart"
Then o produto deve ser adicionado ao carrinho
And o contador do carrinho deve mostrar "1"Seu objetivo: Execute o teste existente e depois crie cenários adicionais!
# Execute o LoginApi.feature existente e depois expanda para:
Feature: Testes de API
Como um QA avançado
Quero testar endpoints da API
Para validar a integração backend
Scenario: Login via API
Given que tenho credenciais válidas
When faço uma requisição POST para "/api/login"
Then devo receber status 200
And devo receber um token de autenticaçãoSeu objetivo: Execute o teste existente e depois adicione mais validações de API!
- Cypress - Framework de automação E2E
- Cucumber - BDD e cenários em linguagem natural
- Page Object Model - Arquitetura de testes
- GitHub Actions - CI/CD e automação
- Docker - Containerização e ambientes
- ESLint + Prettier - Qualidade de código
- Screenshots automáticos em falhas
- Gravações de vídeo das execuções
- Relatórios HTML personalizados
- Integração com ferramentas de CI/CD
| Guia | Descrição | Link Direto |
|---|---|---|
| 📚 LEARNING_GUIDE.md | Guia completo de como usar o repositório como curso | Acessar |
| 🗺️ STUDY_ROADMAP.md | Cronograma diário de 4 semanas para dominar Cypress | Acessar |
| ✅ PROGRESS_CHECKLIST.md | Acompanhe seu progresso e conquiste todas as medalhas | Acessar |
| ⚡ QUICK_START.md | Setup em 5 minutos e primeiro teste em 30 segundos | Acessar |
| 📋 CONTRIBUTING.md | Como contribuir e participar da comunidade | Acessar |
| Arquivo | Propósito | Link Direto |
|---|---|---|
| cypress.config.js | Configuração principal do Cypress | Ver Config |
| package.json | Dependências e scripts de teste | Ver Dependências |
| docker-compose.yml | Ambiente Docker para testes | Ver Docker |
| tsconfig.json | Configuração TypeScript | Ver TSConfig |
- Leia a teoria e exemplos
- Execute os testes existentes
- Modifique e experimente
- Crie seus próprios cenários
- Documente seu aprendizado
- 🥉 Bronze: Execute todos os testes existentes
- 🥈 Prata: Modifique e expanda os cenários
- 🥇 Ouro: Crie novos cenários e Page Objects
- 💎 Diamante: Contribua para a comunidade
- ✅ Testes de login e autenticação
- ✅ Testes de API de login
- ✅ Filtros e busca de produtos
- ✅ Adição ao carrinho de compras
- Adicione testes de checkout
- Implemente testes de responsividade
- Crie testes de performance
- Adicione testes de acessibilidade
- Discussions no GitHub para dúvidas
- Issues para reportar problemas
- Pull Requests para contribuir
- Comunidade ativa de aprendizes
- Vídeos tutoriais para cada módulo
- Webinars semanais com especialistas
- Challenges mensais com prêmios
- Mentoria individual para dúvidas
| Módulo | Feature | Status | Execução |
|---|---|---|---|
| Módulo 1 | Login.feature |
✅ Pronto | npm run test:module1 |
| Módulo 2 | LoginApi.feature |
✅ Pronto | npm run test:module2 |
| Módulo 3 | FilterProducts.feature |
✅ Pronto | npm run test:module3 |
| Módulo 4 | AddItemCart.feature |
✅ Pronto | npm run test:module4 |
# Execute os testes por módulo
npm run test:module1 # Login.feature
npm run test:module2 # LoginApi.feature
npm run test:module3 # FilterProducts.feature
npm run test:module4 # AddItemCart.feature
# Execute todos os testes
npm run test:allApós completar todos os módulos, você receberá:
- Certificado digital de QA Automation Expert
- Badge no LinkedIn para seu perfil
- Acesso à comunidade de especialistas
- Oportunidades de networking e carreira
"Este curso transformou minha carreira! Em 4 módulos aprendi mais do que em meses de estudo sozinho." - Maria Silva, QA Senior
"A metodologia prática é incrível! Cada módulo me fez evoluir como profissional." - João Santos, Automation Engineer
"Finalmente um curso que ensina Cypress de verdade! Recomendo para todos os QAs." - Ana Costa, Test Lead
git clone https://github.com/lucas-egswf/automation-test.git
cd automation-test
npm install
npm run cypress:openExecute o Login.feature e veja a mágica acontecer!
LEARNING_GUIDE.md - Guia detalhado de como usar este repositório como curso!
STUDY_ROADMAP.md - Cronograma diário de 4 semanas para dominar Cypress!
PROGRESS_CHECKLIST.md - Acompanhe seu progresso e conquiste todas as medalhas!
QUICK_START.md - Setup em 5 minutos e primeiro teste em 30 segundos!
| Problema | Solução | Comando |
|---|---|---|
| Erro de dependências | Reinstalar node_modules | rm -rf node_modules && npm install |
| Cypress não abre | Verificar Node.js 18+ | node --version |
| Testes falhando | Verificar baseUrl | npm run cypress:open |
| Erro de permissão | Executar como admin | sudo npm install (Linux/Mac) |
| Problemas de Docker | Rebuild container | docker-compose down && docker-compose up --build |
- 📖 Documentação - Guia completo
- 🐛 Issues - Reportar problemas
- 💬 Discussions - Fórum da comunidade
- 📧 Email - Contato direto
4 módulos práticos e interativos 100% baseado no que já funciona Projeto real para seu portfólio Comunidade ativa de QAs Certificado reconhecido
| Problema | Solução | Comando |
|---|---|---|
| Erro de dependências | Reinstalar node_modules | rm -rf node_modules && npm install |
| Cypress não abre | Verificar Node.js 18+ | node --version |
| Testes falhando | Verificar baseUrl | npm run cypress:open |
| Erro de permissão | Executar como admin | sudo npm install (Linux/Mac) |
| Problemas de Docker | Rebuild container | docker-compose down && docker-compose up --build |
- 📖 Documentação - Guia completo
- 🐛 Issues - Reportar problemas
- 💬 Discussions - Fórum da comunidade
- 📧 Email - Contato direto