💡 Dica: Use Ctrl+Click (Windows/Linux) ou Cmd+Click (Mac) para abrir os links em uma nova aba.
Conheça a Trilha de Cypress na Udemy e aprenda a criar testes automatizados para WEB e API com Cypress!
👉🏼 https://itau.udemy.com/learning-paths/9480633/
O Cypress é uma ferramenta moderna de automação de testes.
Com Cypress, é possível realizar testes end-to-end de forma eficiente e simples, validando o comportamento da aplicação de ponta a ponta, com foco na interação com os elementos presentes na maioria das páginas web e api. Além disso, a ferramenta fornece uma série de recursos como captura de telas, gravação de vídeos, depuração em tempo real e relatórios de testes, tornando o processo de automação e validação mais acessível.
Desempenho Rápido: Execução instantânea de testes, sem a necessidade de esperar por longos tempos de execução. Depuração Simples: Ferramentas de depuração e exibição de comandos diretamente no navegador. Testes em Tempo Real: Visualização do comportamento da aplicação enquanto os testes estão sendo executados. Facilidade de Uso: Sintaxe simples e APIs intuitivas para escrever testes, ideal para iniciantes e especialistas. Documentação Extensa: A documentação oficial oferece exemplos e guias para facilitar o aprendizado.
As URLs e credenciais usadas neste projeto são de propriedade exclusiva de pessoas matriculadas nos cursos contido na Trilha de Cypress da Udemy. Não utilize-as sem autorização.
💡 Este repositório é o seu ponto de partida para automatizar testes em diferentes camadas com Cypress. Crie scripts poderosos, escaláveis e prontos para dominar qualquer aplicação! 🚀💻
⚡ 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! 💪
- yarn: https://yarnpkg.com/
- package cypress yarn: https://yarnpkg.com/package?q=cypress&name=cypress
- github cypress: https://github.com/cypress-io/cypress
- FakerJs (simulador de dados): https://fakerjs.dev/
- Viewport: https://docs.cypress.io/api/commands/viewport
- Hooks BeforeEach: https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Hooks
- Clone projeto usando o comando:
git clone https://github.com/santosqa/cypress-express-web-api.git
- Na pasta raiz do projeto, execute o comando para remover o versionamento:
rm -rf .git
- Iniciar um novo repositorio Git:
git init
- Criar e mudar para uma nova branch:
git checkout -b nome_da_branch_desejada
- Mudar para uma branch existente:
git checkout nome_da_branch_desejada
- 1 - Instale o nvm |
nvm install 18
(caso já tenha, pule este passo) - 2 - Use a versão 18 |
nvm use 18
(caso já esteja usando, pule este passo) - 3 - Instale as dependencias |
npm install
- 4 - Inicie o banco de dados |
npm run db:init
- 5 - Inicie a api |
npm run dev
- 6 - Caso ocorra erro sqlite3
- 6.1 - Verifique a versão do node |
node -v
- 6.2 - Use a versão 18 |
nvm use 18
- 6.3 - Verifique a versão do módulo |
npm list better-sqlite3
- 6.4 - Recompile o módulo |
npm rebuild better-sqlite3
- 6.5 - Atualize o módulo se necessário |
npm install better-sqlite3@latest
- 6.1 - Verifique a versão do node |
- 1 - Instale as dependencias |
npm install
- 2 - Inicie a Aplicação WEb |
npm run dev
- 3 - Url da aplicação | lcoalhost:3000
- 1 - Ativar core pack |
sudo corepack enable
(caso já tenha aitivo, pule este passo) - 2 - Iniciar o projeto |
yarn init
- 3 - Instalar cypress |
yarn add [email protected] -D
- 4 - Abrir cypress |
cypress open
- 5 - Instalar lib faker-js |
yarn add @faker-js/faker --dev
(Se desejar usar faker para criar dados)
- 1 - Parar todos os processos do Node.js |
pkill node
oupkill -f "node"
(f é para forçar o encerramento) - 2 - Listar processo usando a porta 3000 |
lsof -i :3000
(Irá aparecer algo como; "node 99901 santosqa" o 99901 é o PID) - 3 - Use o comando kill -9 passado o PID para forçar o encerramento |
kill -9 99901
- 4 - Listar processos com do db:init |
ps aux | grep db:init
(para matar faça o passo 3) - 5 - Se houver processos relacionados ao db:init, você pode matá-los em massa usando:
pkill -f "db:init"
- 6 -
🔥 Dica 1
No Arquivo .gitignored, o padrão**/
significa "em qualquer nível de diretório". Isso garante que os diretórios e arquivos sejam ignorados em qualquer lugar do projeto, não apenas na raiz. Exemplo:**/node_modules/
em qualquer lugar do projeto que existir a pasta node_modules, será ignorado ao enviar para o repositório remoto.
🔥 Dica 2
Em sua página de testesseuTest.cy.js
inicie sempre com a anotação/// <reference types="cypress" />
para que seja habilitado o uso do IntelliSense. Isso ajudará você a escrever testes de forma mais eficiente, com sugestões de código e autocompletar.