What you'll learn:
- Criar um projeto de testes automatizados com o Cypress, do Zero
- Interagir com os principais elementos HTML
- Estratégias para fazer um gerenciamento das massas de dados utilizadas nos testes
- Entender as estratégias de localização do Cypress, para alcançar qualquer elemento da página
- Entender detalhadamente a forma de sincronização que o Cypress aplica nos scripts
- Fazer requisições e assertiva em cima de uma API Rest
- Virtualizar chamadas à API Rest, para navegar no frontend de forma mais rápida e controlada
Seja muito bem vindo ao curso de Testes de aplicações modernas com Cypress.
Nesse curso, irei te apresentar uma ferramenta relativamente nova e com muito poder para realizar testes automatizados, que é o Cypress. Tão poderosa que vai nos permitir testar uma aplicação mais moderna (desenvolvida em React), em três formas distintas:
Testes funcionais:Onde vamos acessar a aplicação, automatizando todas as iterações com o browser, sob a visão do usuário. Sempre nos preocupando com o gerenciamento dos dados dos testes, no banco de dados.
Testes de backend:Com a mesma ferramenta, vamos acessar testar a api rest da aplicação diretamente, entendendo os conceitos deste tipo de API e como utilizar o Cypress para acelerar nossos testes.
Testes de frontend:Ainda com o Cypress, vamos testar a camada de apresentação (assim como fizemos nos testes funcionais), mas dessa vez, vamos virtualizar todas as requisições ao backend, conseguindo testes muito mais rápidos e podendo focar exclusivamente na interface gráfica.
O curso é 100% prático, onde trarei problemas, situações e os erros mais comuns que ocorrem no dia-a-dia, assim poderemos discutir sobre formas de como atuar em cada caso, tentando levantar os prós e contras de cada estratégia disponível. Tudo isso, de forma bem paciente, um conceito de cada vez, para maximizar o entendimento dos recursos da ferramenta.
Não se preocupe, caso ainda seja um conceito novo para você, criaremos os testes desde o básico. Apesar das nossas implementações serem feitas em Javascript, podemos testar qualquer aplicação Web (HTML), independente da linguagem que ela fora criada. Alguns conceitos básicos de javascript também serão apresentados, para nivelar quem ainda não conhece bem as versões mais novas da linguagem.
Foquei bastante em três pontos principais que são os maiores motivos de problemas nos testes funcionais: Localização de elementos, Sincronismo dos scripts e Massa de dados. Sobre eles, apresentarei alguns cenários e como podemos deixar nossos testes mais resilientes a tais instabilidades.
Nas fases iniciais do curso, usaremos uma página simples (Campo de Treinamento) para podermos forcar nos fundamentos do framework. Mais a frente, teremos três módulos exclusivos para testar uma aplicação real, em React, trazendo alguns cenários importantes como autenticação e gerenciamento de massa de dados. Cada módulo, focado em um tipo de teste, para podermos ver suas diferenças e tirar algumas conclusões.
Ao final desse curso, você terá uma boa base para desenvolver seus testes de forma rápida, estruturada e segura.