Bem-vindo ao repositório de testes automatizados utilizando Cypress! Este projeto tem como objetivo validar a API ServeRest através de testes automatizados, garantindo a confiabilidade e a integridade das respostas.
- 🎯 Objetivo
- 🛠️ Tecnologias Utilizadas
- ⚙️ Instalação
▶️ Como Executar os Testes- 📁 Estrutura do Projeto
- 🧪 Principais Testes Implementados
- 📌 Melhores Práticas Utilizadas
- 🤝 Contribuição
- 📄 Licença
- 📞 Contato
Este projeto tem como finalidade a automação de testes para validar os endpoints da API ServeRest.
Os testes garantem que as operações de CRUD (Create, Read, Update, Delete) funcionam corretamente, além de validar regras de negócio.
As principais tecnologias utilizadas neste projeto são:
- ✅ Cypress – Framework de testes End-to-End (E2E).
- ✅ JavaScript – Linguagem de programação utilizada.
- ✅ NPMm – Gerenciador de pacotes.
- ✅ ServeRest – API simulada para testes.
dos testes.
Para instalar as dependências do projeto, siga os passos abaixo:
# Clone o repositório
git clone https://github.com/CristianoSFMothe/api-serverst-cypress
# Acesse a pasta do projeto
cd seu-repositorio
# Instale as dependências
yarn install
Para rodar os testes, utilize um dos comandos abaixo:
✅ Executar em modo Headless (sem interface gráfica):
yarn test
✅ Executar no Cypress Test Runner (modo interativo):
npx cypress open
✅ Executar testes específicos:
npx cypress run --spec "cypress/e2e/usuarios.spec.js"
A estrutura do projeto segue a seguinte organização:
📂 cypress/
├── 📂 e2e/ # Testes automatizados
│ ├── 📂 carrinhos/
│ ├ ├── DELETE.spec.js
│ ├ ├── GET.spec.js
│ ├ ├── POST.spec.js
│ ├── 📂 login/
│ ├ ├── login.spec.js
│ ├── 📂 produtos/
│ ├ ├── DELETE.spec.js
│ ├ ├── GET.spec.js
│ ├ ├── POST.spec.js
│ ├ ├── PUT.spec.js
│ ├── login.spec.js
│ ├── login.spec.js
│
├── 📂 fixtures/ # Arquivos JSON com dados fictícios
│ ├── cart.json
│ ├── login.json
│ ├── produtos.json
│ ├── usuarios.json
│
├── 📂 support/ # Comandos customizados e configurações
│ ├── carts.commands.js
│ ├── e2e.js
│ ├── login.commands.js
│ ├── product.commands.js
│ ├── user.commands.js
│
├── cypress.config.js # Arquivo de configuração do Cypress
├── package.json # Dependências e scripts do projeto
├── README.md # Documentação do projeto
✔️ Usuários:
- Criar um novo usuário
- Listar usuários cadastrados
- Filtrar usuários por nome
- Atualizar dados do usuário
- Deletar usuário
✔️ Produtos:
- Criar um novo produto
- Listar produtos disponíveis
- Atualizar informações de um produto
- Deletar produto
✔️ Login:
- Autenticação de usuários
- Acesso com credenciais inválidas
- Validação de token de autorização
✔️ Uso de Fixtures: Dados fictícios armazenados em arquivos JSON para tornar os testes mais dinâmicos.
✔️ Custom Commands: Comandos personalizados no Cypress para evitar repetição de código.
✔️ Separação de responsabilidades: Organização dos testes seguindo boas práticas de estruturação.
✔️ Validação de Status Code: Todos os testes garantem que a API responde com os status corretos.
Contribuições são sempre bem-vindas! Para contribuir:
- Faça um fork do projeto
- Crie uma branch com sua feature (
git checkout -b minha-feature
) - Commit suas mudanças (
git commit -m 'Adicionando minha feature'
) - Faça um push para a branch (
git push origin minha-feature
) - Abra um Pull Request
Este projeto está sob a licença MIT. Para mais detalhes, consulte o arquivo LICENSE.
Se tiver dúvidas ou sugestões, entre em contato:
📧 Portfolio: Portfolio Cristiano
🐙 GitHub: github.com/CristianoSFMothe
💼 LinkedIn: linkedin.com/in/cristiano-da-silva-ferreira