
? AULA 1.1 - Como surgiu o termo Bug em computação e o que é Teste de Software?
Você sabia que o termo bug surgiu de um inseto real preso em um computador? ? Nesta aula introdutória, vamos explorar a origem curiosa dessa palavra tão comum na tecnologia.
Além disso, você vai entender o que é teste de software, por que ele é essencial no desenvolvimento de sistemas, e quais são os seus fundamentos principais.
? Tópicos abordados:
A história do primeiro bug da computação
A importância dos testes de software
Conceitos fundamentais: erro, falha, defeito e bug
Objetivos e benefícios da atividade de teste
Ideal para iniciantes e curiosos que querem começar com o pé direito no universo da qualidade de software!
? Cypress na Prática: Instalação, Configuração e Primeiro Teste
Nesta aula, você vai aprender na prática como dar os primeiros passos com o Cypress, uma das ferramentas de automação de testes mais populares do mercado.
? O que você vai ver:
Como instalar o Cypress em um projeto real
Configurações essenciais para começar sem complicações
Estrutura de pastas e arquivos do Cypress
Criação e execução do primeiro teste automatizado
Dicas rápidas para evitar erros comuns no início
? Ideal para QAs, desenvolvedores e entusiastas que querem colocar a mão na massa com automação de testes de forma simples e eficiente.
? Testes Automatizados com Cypress: Da Estrutura Inicial à Interação com Elementos
Nesta aula, você vai aprender como estruturar seus testes automatizados com Cypress, entendendo desde a organização do projeto até como interagir com os elementos da aplicação.
? Conteúdo da aula:
Estrutura básica de um projeto Cypress
Diferença entre comandos .get(), .contains() e .find()
Boas práticas na escolha de seletores
Interações comuns: clique, digitação, validações e navegação
Execução e análise dos testes no Test Runner
⚙️ Ideal para quem já fez a instalação do Cypress e quer evoluir para a criação de testes mais robustos e organizados.
? AULA 3 – Trabalhando com Elementos HTML e Simulando Ações Reais com Cypress
Chegou a hora de deixar seus testes mais realistas! Nesta aula, você vai aprender a identificar e manipular elementos HTML de forma eficiente, utilizando o Cypress para simular ações que um usuário realmente faria no navegador.
? Conteúdo da aula:
Como localizar diferentes tipos de elementos HTML (inputs, botões, listas, checkboxes etc.)
Comandos essenciais: cy.click(), cy.type(), cy.select() e outros
Validação de estados (visível, habilitado, marcado)
Simulação de fluxos reais como login, cadastro e preenchimento de formulários
Dicas para tornar seus testes mais estáveis e intuitivos
? Ideal para quem deseja ir além do básico e construir testes que refletem o comportamento real dos usuários.
✅ AULA 4 – Validando Resultados com .should() e .contains() no Cypress
Nesta aula, vamos focar na validação de resultados, uma das partes mais importantes da automação de testes. Você vai aprender como usar os comandos .should() e .contains() para garantir que sua aplicação está se comportando como esperado.
? O que você vai aprender:
Diferença entre .should() e .contains() e quando usar cada um
Validação de textos, atributos, classes e visibilidade de elementos
Como encadear múltiplas asserções
Casos práticos: mensagens de sucesso, exibição de erros e mudanças no DOM
Boas práticas para deixar seus testes claros e confiáveis
?️ Aula essencial para quem quer deixar os testes mais robustos e precisos, validando o que realmente importa.
? AULA 5 – Comandos Customizados e Fluxos Reutilizáveis no Cypress
Nesta aula, você vai aprender como escrever comandos customizados no Cypress para tornar seus testes mais limpos, organizados e reutilizáveis. Chega de repetir código! Vamos centralizar lógicas comuns e melhorar a manutenção dos testes automatizados.
⚙️ Você vai aprender:
O que são comandos customizados (Cypress.Commands.add)
Como criar fluxos reutilizáveis (ex: login, cadastro, preenchimento de formulários)
Onde e como organizar seus comandos personalizados
Melhores práticas para manter seu projeto escalável
Exemplo prático de um fluxo completo reutilizado em diferentes testes
? Aula indispensável para quem quer evoluir de scripts simples para uma estrutura de testes profissionais e reutilizáveis.
?️ O que é o Codegen do Cypress?
O Codegen é uma funcionalidade integrada ao Cypress que permite gravar automaticamente os comandos de teste enquanto você interage com a aplicação. Ao utilizar essa ferramenta, tudo o que você fizer no navegador — como clicar, digitar, selecionar ou navegar — será transformado em comandos Cypress equivalentes, exibidos em tempo real na interface.
Essa funcionalidade é especialmente útil para iniciantes ou para quem deseja prototipar rapidamente fluxos de teste, como login, cadastro ou navegação entre páginas. Além disso, ela acelera o desenvolvimento de scripts, permitindo que o testador se concentre em ajustes e validações, em vez de escrever cada linha manualmente.
O Codegen gera um código limpo e legível, que pode ser salvo e adaptado conforme necessário. Ele também serve como apoio para aprender a sintaxe e entender a estrutura dos comandos Cypress.
? O que é a extensão Cypress Recorder para Chrome?
A Cypress Recorder é uma extensão de navegador desenvolvida para o Google Chrome, que também tem como objetivo capturar ações do usuário e convertê-las em comandos compatíveis com o Cypress. Assim como o Codegen, essa extensão registra tudo o que o usuário faz em uma página web — cliques, digitações, mudanças de tela — e gera um roteiro de teste automático.
A diferença é que essa extensão funciona fora do Cypress. Você pode instalá-la no navegador, iniciar uma gravação, interagir normalmente com a página e, ao final, parar a gravação para visualizar o código gerado. Esse conteúdo pode ser copiado e colado no seu projeto de testes automatizados.
É uma ferramenta leve, prática e eficiente, muito utilizada para criar rascunhos de testes, validar comportamentos rapidamente ou ensinar novos usuários a automatizar testes com Cypress de forma visual e didática.
Nesta série de exercícios para Cypress, o objetivo é construir uma base sólida para quem está começando, mas também oferecer desafios que estimulem o aprendizado de níveis intermediários. O primeiro passo é abrir uma página web usando o Cypress e validar que o título da página está correto. Isso é fundamental, pois garante que a navegação até a página foi realizada com sucesso e que o conteúdo básico está disponível. Por exemplo, ao acessar um site de demonstração, como o endereço oficial de exemplos do Cypress, o teste deve verificar se o título da aba do navegador contém o nome “Cypress”. Essa validação simples ajuda a consolidar o uso dos comandos básicos para acessar a URL e fazer assertivas sobre o conteúdo carregado.
Depois, avançamos para um exercício que envolve interagir com formulários na página. Aqui, você aprende a localizar campos de entrada, preencher dados válidos, e submeter o formulário para que a aplicação responda de acordo. Por exemplo, em uma página de testes, o usuário poderá preencher um campo de email com um endereço válido e clicar no botão de envio. Após a submissão, o teste deve verificar se uma mensagem de confirmação aparece, ou se a aplicação redireciona para outra página. Essa prática é essencial para validar processos que envolvem a interação do usuário com formulários, uma atividade comum em testes automatizados.
Em seguida, há um exercício dedicado a validar conteúdos dinâmicos que aparecem na tela, utilizando comandos específicos do Cypress como .contains() para localizar elementos com determinado texto, e .should() para verificar propriedades desses elementos, como visibilidade, estilo ou classe CSS aplicada. Isso é importante para garantir que a interface reage corretamente às interações ou ao carregamento dos dados, confirmando que textos esperados estão presentes e com as características corretas.
Um desafio um pouco maior é trabalhar com múltiplos elementos, especialmente listas, onde o teste deve localizar todos os itens de uma lista, interagir com um item específico, como clicar no terceiro elemento, e também contar quantos itens existem no conjunto. Esses comandos são úteis quando o sistema apresenta dados em tabelas ou listas, e o teste precisa garantir que a quantidade de itens e o conteúdo estão corretos.
Além disso, o Cypress permite criar comandos personalizados, o que é um recurso valioso para tornar os testes mais organizados e reutilizáveis. Um exercício propõe que você crie um comando customizado para executar um fluxo comum, como realizar login em uma aplicação. Esse comando encapsula as etapas de preencher usuário, senha e clicar para entrar, e depois pode ser chamado em diversos testes, evitando repetição e facilitando a manutenção.
Outro ponto importante na automação é o controle das requisições feitas pelo sistema para APIs. Com o comando cy.intercept(), você pode capturar essas chamadas, modificar a resposta para dados mockados e validar que a interface do usuário está exibindo as informações simuladas. Essa técnica permite isolar os testes da instabilidade do backend, acelerar o fluxo e garantir que a interface se comporte corretamente com diferentes respostas.
Navegar entre páginas da aplicação é uma atividade frequente em testes de interface. Por isso, um exercício estimula você a clicar nos links de navegação, validar que a URL mudou conforme esperado e que conteúdos específicos de cada página aparecem corretamente. Essa prática ajuda a verificar o funcionamento das rotas, garantindo que o usuário conseguirá transitar sem erros entre as diferentes telas.
Testar a validação de dados em formulários é fundamental para garantir que o sistema impeça entradas incorretas e aceite somente informações válidas. Nesse exercício, você deve preencher um formulário com dados inválidos para verificar se as mensagens de erro aparecem corretamente. Em seguida, corrigir os dados e submeter o formulário para garantir que a aplicação aceite a entrada e avance no fluxo esperado. Esse tipo de teste assegura a qualidade da validação no frontend.
O upload e o download de arquivos também são cenários comuns que precisam ser testados. Você deve criar testes que enviem um arquivo em um formulário e validem que o sistema aceitou o arquivo, exibindo-o na interface ou confirmando o envio. Para o download, o teste simula o clique para baixar um arquivo e pode verificar que a requisição foi disparada corretamente, mesmo que não consiga validar o arquivo fisicamente no disco. Esse exercício é importante para aplicações que trabalham com documentos, imagens ou relatórios.
Por fim, o desafio maior é construir um teste end-to-end completo, simulando um fluxo realista de uso da aplicação. Imagine um cenário onde o usuário se cadastra, realiza login, cria um novo item como uma tarefa ou postagem, edita essa informação e depois exclui. Durante esse fluxo, você pode usar comandos customizados para evitar repetição, além de interceptar chamadas para acelerar os testes. Esse exercício integra todo o conhecimento anterior e ajuda a garantir que o sistema funcione corretamente do início ao fim da jornada do usuário.
Cypress na Prática: Do Zero ao Intermediário
Domine a automação de testes front-end utilizando uma das ferramentas mais poderosas e modernas do mercado: o Cypress. Este curso foi desenvolvido para levar você, passo a passo, desde a instalação e configuração iniciais até a criação de testes automatizados mais complexos, incluindo boas práticas essenciais para profissionais de qualidade de software e desenvolvimento.
Ao longo do curso, você aprenderá a estruturar seus projetos de testes de forma organizada, a interagir com os elementos da interface da aplicação, e a validar resultados utilizando comandos eficientes. Também serão apresentadas técnicas para criar comandos customizados e fluxos reutilizáveis, facilitando a manutenção e a escalabilidade dos seus testes.
Este conteúdo é ideal para iniciantes que desejam iniciar sua jornada com segurança e para aqueles que já possuem algum conhecimento básico e querem aprimorar suas habilidades, aplicando práticas intermediárias em cenários reais do dia a dia de desenvolvimento e teste de software.
Você receberá instruções detalhadas sobre como escrever testes claros e objetivos, como trabalhar com diferentes tipos de elementos HTML, e como aplicar validações robustas que garantem a qualidade da aplicação. Além disso, o curso aborda a organização dos testes em projetos reais, preparando você para atuar em equipes e ambientes profissionais.
Prepare-se para evoluir suas habilidades em automação e transformar a forma como você realiza testes, elevando a qualidade e eficiência do seu trabalho.