Skip to content

santosqa/cypress-express-web-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cypress Logo


💡 Dica: Use Ctrl+Click (Windows/Linux) ou Cmd+Click (Mac) para abrir os links em uma nova aba.

Santos Links GitHub LinkedIn Instagram Santos QA Apartamento Vista Mar Receitas Nerds Santos Locais Turisticos


💻 Cypress Express Web API

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.

Benefícios do Cypress:

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.

⚠️ Atenção!

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.


Cursos SantosQA

💡 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! 💪


⭐️ Deixe uma estrela para apoiar o projeto 👍🏽

Imagem print da pagina principal do projeto contendo duas setas para mostrar a opção de apoiar clicando no ícone de estrela no github


Links Úteis


Extensões VsCode

Rainbow Brackets Dracula Theme Prettier Atom Material Icons Markdown Preview Port Br Language Fira Code


Clonar o projeto

  • 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 
Comandos Adicionais para o 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

Ambiente

Dentro da pasta API
  • 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
Dentro da pasta WEB
  • 1 - Instale as dependencias | npm install
  • 2 - Inicie a Aplicação WEb | npm run dev
  • 3 - Url da aplicação | lcoalhost:3000
Dentro da pasta test
  • 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)
Comando extra caso precisar
  • 1 - Parar todos os processos do Node.js | pkill node ou pkill -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 testes seuTest.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.


Ricardo Santos QA 👋🏼