O Cypress é uma ferramenta poderosa e moderna para automação de testes de aplicações web, APIs e interfaces móveis, permitindo que você escreva e execute testes de forma rápida, eficiente e fácil de depurar. Com uma abordagem focada na experiência do desenvolvedor, o Cypress facilita a criação de testes de ponta a ponta para garantir o comportamento correto da sua aplicação.
Este repositório é uma versão avançada do Cypress, projetada para automatizar múltiplas camadas de testes: Web, API e Mobile WebView. Ele fornece uma base sólida para implementar automação de testes em aplicações que integram várias tecnologias, desde a navegação na interface web até interações complexas em APIs e em ambientes móveis (Mobile WebView).
- Web: Automação de navegação, interações e validações dos elementos da interface em páginas web.
- API: Testes de integração para validar as respostas das APIs, incluindo autenticação, chamadas de dados e controle de fluxo.
- Mobile WebView: Automação de testes em aplicações móveis, com foco em testes em ambientes de WebView, como em aplicativos híbridos ou páginas mobile.
- Automação Multi-camada: Teste de ponta a ponta abrangendo Web, API e Mobile WebView.
- Depuração Simplificada: Ferramentas visuais e interativas de depuração que permitem uma experiência mais fluida e rápida.
- Desempenho Superior: Execução eficiente de testes, com feedback quase imediato e baixo overhead.
- Testes em Tempo Real: Visualize a execução dos testes diretamente no navegador ou dispositivo móvel.
- Facilidade de Integração: Suporte a múltiplas camadas em um único fluxo de testes, ideal para aplicações complexas.
- Extensa Documentação: Guia passo a passo e exemplos para facilitar o aprendizado e implementação dos testes.
As URLs e credenciais usadas neste projeto são de propriedade exclusiva do @papitodev e dos alunos da formação Cypress Skills. Não utilize-as sem autorização!
⭐️ Este repositório oferece uma estrutura avançada para quem deseja automatizar testes em diferentes camadas de uma aplicação, aproveitando ao máximo as capacidades do Cypress para garantir qualidade e confiabilidade em cada componente do sistema! 🚀💻
⚡ Comece sua jornada de automação e leve seus testes para o próximo nível. O futuro dos testes está em suas mãos. Vamos juntos nesse desafio! 💪
Instale o Cypress par Mac, Linux ou Windows. Doc Cypress Install.
npm install cypress --save-devor
yarn add cypress --devor
npm add cypress --save-dev- iniciar Projeto:
yarn init -2
- Iniciar repositorio Git:
git init - Remover repositorio git:
rm -rf .git
-
Instalar Cypress:
yarn add [email protected] -D -
habilitar Corepack:
corepack enable -
Instalar yarn corepack:
corepack prepare [email protected] --activate -
Abrir interface gráfica Cypress:
npx cypress openOUyarn cypress openOUnpm cypress open -
Executar todos testes via terminal:
yarn cypress run
- Levantar aplicaçâo:
docker compose up -d - Parar aplicaçâo/containers:
docker compose down - Listar Containers:
docker ps - Listar Desligado:
docker -a - Listar Imagens:
docker images - Listar Volumes:
docker volume ls - Listar Networks:
docker network ls
A * Embora o Cypress não tenha suporte nativo para uso de XPath, é possível alcançar o mesmo objetivo de maneira organizada e nativa sem precisar importar plugins como "cypress-xpath".
* Este exemplo demonstra como validar a mensagem de alerta para o campo obrigatório "Nome Completo".
-
XPath equivalente: "//label[text()='Nome Completo']/.//div[contains(@class, 'alert-msg')]"
-
Implementação nativa com Cypress sem o uso do XPATH:
cy.contains('label', 'Nome Completo') // Localiza o rótulo com o texto "Nome Completo" .parent() // Navega para o elemento pai do rótulo .find('.alert-msg') // Busca o elemento com a classe 'alert-msg' .should('be.visible') // Garante que o alerta está visível .and('have.text', 'O campo nome é obrigatório.'); // Valida o texto do alerta. Use .have.text quando o objetivo é verificar o texto exato e completo de um elemento.
Feito com ♥ por Ricardo Santos QA 👋 about.me/santosqa