- Criando Testes com o Cypress
- Automatizando Cenários de Teste
- Gerar a Documentação e Comando
- Usando Fixtures e Stubs em Testes
- Aplicando Boas Práticas com o Cypress
Nesta fase, aprendi a iniciar um novo projeto de testes com Cypress:
- Iniciando o projeto: Utilização do comando
npm init
para criar o arquivopackage.json
. - Configuração: Configuração do Cypress através da interface gráfica Launchpad.
- Criação de testes: Criação de arquivos de teste
.spec.js
dentro do diretórioe2e
. - Descrevendo a suíte de testes: Uso do comando
describe
. - Definindo casos de teste: Utilização das funções
it
ecy.visit()
para indicar a URL carregada antes de cada teste. - Assertions: Uso dos comandos
cy.get()
,.type()
,.click()
e.contains()
para realizar assertions.
Nesta etapa, foquei na criação de testes automatizados mais detalhados:
- Selector Playground: Identificação de elementos usando o Selector Playground do Cypress.
- Cenários de teste: Criação de testes para cenários de caminho feliz e triste.
- Exploração com DevTools: Uso detalhado do DevTools para identificar elementos HTML.
- Busca por texto: Utilização do comando
cy.contains()
.
Aqui, foquei em documentar e agilizar a execução dos testes:
- Execução headless: Rodar testes sem abrir a interface gráfica do Cypress.
- Relatórios e vídeos: Verificação de relatórios e vídeos gerados em modo headless.
- Mochawesome: Personalização e geração de relatórios em HTML.
- Cypress Cloud: Associação do projeto ao Cypress Cloud para documentação de testes em nuvem.
- Dashboard: Integração dos resultados dos testes para uma visão mais analítica.
- Comandos personalizados: Criação de comandos como
cy.login()
ecy.registrar()
.
Nesta fase, aprendi a usar dados externos e simular comportamentos:
- Stubs: Criação de dublês de teste para simular comportamentos da API.
- Requisições de API: Testes com requisições de API para verificar respostas do sistema.
- Fixtures: Utilização de dados de arquivos externos nos casos de teste.
Finalmente, foquei em otimizar a qualidade e segurança dos testes:
- Identificação de testes flaky: Identificação e correção de testes instáveis.
- Boas práticas: Implementação de práticas recomendadas para desenvolvimento de testes E2E com Cypress.
- Segurança: Ocultação de dados sensíveis durante as requisições.
Este curso me proporcionou uma base inicial para automatização de testes E2E com Cypress, capacitando-me a enfrentar os desafios do desenvolvimento de software com mais segurança e eficiência.