Um curso do Bora QA para a comunidade de testes ❤️
- Automatizar os verbos HTTP GET, POST, PUT e DELETE em Javascript com SuperTest.
- Gerar report HTML com o resultado.
- Utilizar dados fakes.
- Executar o mesmo teste em ambientes diferentes.
- Manter um código bem estruturado.
As dúvidas devem ser tiradas na aba de issues do repositório.
- Básico de Javascript e NPM.
- Teste manual em API Rest
- Saber o que é API
- Saber fazer uma request (pelo Postman, SoapUI ou outra ferramenta com interface)
- Utilizar os verbos HTTP get, post, put e delete
- Saber o que é JSON
- Conhecer as partes de uma request, como body e header
- Status code (200, 404, 500, etc)
- Vídeo | Javascript Essencial - Conceitos iniciais
- Vídeo | Javascript Essencial - Variáveis e tipos de dados
- Vídeo | Javascript Essencial - Funções
- Texto | O guia completo do package.json do Node.js
- Texto (inglês) | Creating a package.json file
- Playlist | Testes de API Rest | Júlio de Lima
- Texto | Automatizando testes de sua API com Postman | Danilo José
- Vídeo | API // Dicionário do programador
- Vídeo | O QUE É UMA API? (Na prática, não na teoria)
- Visual Studio Code ou outra IDE de sua preferência.
- Node
- Para verificar se a instalação foi feita com sucesso, execute
npm -v
enode -v
no terminal. Se ambos os comandos retornarem número de versão, então está tudo certo.
- Para verificar se a instalação foi feita com sucesso, execute
- Mocha (runner, estrutura)
- Mochawesome (mochawesome)
- Chai (asserção)
- SuperTest (request)
- Faker (dados fakes)
- Standard (lint)
- ServeRest (API a ser testada)
Expanda para ver a grade
-
Introdução
- Qual o objetivo desse curso
- curso para todos os níveis, desde que cumpram com os pré-requisitos de básico de JS e saiba testar webAPI REST manualmente
-
Iniciando o projeto e organizando a estrutura dos testes
- npm init - iniciar projeto
- npm install mocha
- configurar .mocharc.js
- inserir execução dos testes no script 'npm t'
- explicar
describe
eit
- npm init - iniciar projeto
-
Fazendo GET
- npm install supertest
- explicar serverest
- primeiro teste
- get em usuarios
- GET com query string
- usar chai para validar o retorno
- npm install chai
-
Fazendo POST
- fazer POST usuarios
- cenarios: cadastro com sucesso E bad request
- refatorar GET /usuarios para cadastrar usuario no inicio
-
DESAFIO 1
- Em POST de /usuarios, criar automação que valide que o e-mail já está sendo utilizado.
-
Usando dados aleatórios
- faker - usar dados aleatórios em POST e GET usuarios
- npm install faker
- faker - usar dados aleatórios em POST e GET usuarios
-
Fazendo um pouco mais de POST enviando header
- POST login e enviar auth no header de POST produtos
-
Organizando o código antes de aprendermos mais
- estruturar os testes dentro de test/{usuarios, produtos}
- criar o global.js para centralizar o supertest
-
Configurando report HTML
- report HTML - instalar mochawesome
- lembrar para inserir report/ no .gitignore
-
Fazendo DELETE
- DELETE usuarios
-
Reaproveitando código
- criar index com POST usuarios
- refatorar DELETE /usuarios - colocar p criar usuario antes de cada teste
- refatorar GET /usuarios - colocar p criar usuario antes de cada teste
-
DESAFIO 2
- Reescrever POST de /produtos, reaproveitando /login e POST /usuarios em
index
- Reescrever POST de /produtos, reaproveitando /login e POST /usuarios em
-
Fazendo PUT
- atualizar dados - PUT produtos
- ordem das requests > post login, post produtos, put produto
- inserir /cadastro e /login no beforeEach
- atualizar dados - PUT produtos
-
DESAFIO 3
- Reescrever o PUT de /produtos para que fique enxuto, levando alguns códigos para
index
- Reescrever o PUT de /produtos para que fique enxuto, levando alguns códigos para
-
Executar os testes em ambientes diferentes
- criar diretório config
- ajustar global.js
-
Padronizar o código
- install standard
-
Sobrescrever configuração do Mocha no terminal
-
Encerramento do curso
A licença do material está em Bora-QA/Licença.