Projeto de automação de testes de API desenvolvido com Cypress durante minha formação em Quality Assurance pela EBAC.
O objetivo deste projeto é aplicar conceitos de API Testing, automatizando requisições e validações diretamente na camada de serviços, sem depender da interface gráfica da aplicação.
Construir uma suíte automatizada para validação de APIs utilizando Cypress, trabalhando conceitos como:
- Requisições HTTP automatizadas;
- Validação de status codes;
- Validação do corpo das respostas;
- Manipulação e reutilização de dados entre requisições;
- Testes de cenários positivos e negativos;
- Organização e manutenção de testes de API.
| Tecnologia | Utilização |
|---|---|
| JavaScript | Desenvolvimento dos testes |
| Cypress | Framework de automação |
| cypress-plugin-api | Execução e visualização das requisições de API |
| Node.js / npm | Gerenciamento e execução do projeto |
| Git / GitHub | Versionamento |
Os testes foram desenvolvidos utilizando o Cypress para realizar requisições diretamente aos endpoints da aplicação.
A abordagem permite validar tanto o comportamento HTTP quanto os dados retornados pela API, tornando possível identificar falhas na camada de serviços independentemente da interface do usuário.
O projeto também serviu como exercício para trabalhar o encadeamento de requisições e utilização de dados retornados por uma operação em etapas posteriores do fluxo de testes.
.
├── cypress/
│ └── ...
├── cypress.config.js
├── package.json
├── package-lock.json
└── README.md
- Node.js
- npm
- Git
git clone https://github.com/LucasBaccin/qa-api-testing-cypress.git
cd qa-api-testing-cypressnpm installnpm testOu diretamente pelo Cypress:
npx cypress runnpx cypress openEste projeto contribuiu para o desenvolvimento de conhecimentos relacionados a:
- Diferenças entre testes de interface e testes diretamente na API;
- Construção de testes automatizados para serviços REST;
- Validação de respostas HTTP;
- Manipulação de dados retornados pelas requisições;
- Encadeamento de operações dentro de um fluxo de testes;
- Utilização do Cypress além da automação de interfaces Web.
- Ampliar a cobertura de cenários negativos;
- Implementar validação de schemas;
- Melhorar a reutilização de comandos e dados de teste;
- Integrar a suíte a um pipeline de CI/CD;
- Adicionar geração de relatórios automatizados.
Lucas Baccin
Quality Assurance | Test Automation | API Testing | CI/CD