Este projeto foi criado para auxiliar na execução de testes automatizados utilizando Postman e Newman. Ele permite organizar coleções de testes por tipo e ambiente, além de gerar relatórios detalhados em HTML para cada execução.
Antes de começar, certifique-se de ter os seguintes itens instalados:
git clone https://github.com/klebersouza/api-test-project-postman-newman.git
cd api-test-project-postman-newman
O projeto utiliza o Newman como dependência global. Para instalá-lo, execute:
npm install -g newman
npm install -g newman-reporter-html
- collections/: Contém as coleções de testes organizadas por tipo (contract-tests, functional-tests, etc.).
- environments/: Contém os arquivos de ambiente (development.postman_environment.json, production.postman_environment.json).
- reports/: Diretório onde os relatórios em HTML serão gerados.
Executar testes de contrato no ambiente de desenvolvimento
npm run test:contract:dev
Executar testes de contrato no ambiente de produção
npm run test:contract:prod
Executar todos os testes no ambiente de desenvolvimento
npm run test:all:dev
Executar todos os testes no ambiente de produção
npm run test:all:prod
Iterações e Delay Você pode ajustar o número de iterações e o delay entre as requisições diretamente nos scripts package.json. Por exemplo:
newman run collections/performance-load-tests/my-collection.json -n 100 --delay-request 200 -e environments/development.postman_environment.json
Para passar dados diferentes em cada iteração (por exemplo, simular múltiplos usuários), você pode utilizar arquivos CSV ou JSON:
newman run collections/performance-load-tests/my-collection.json -d data.csv -e environments/development.postman_environment.json
Os relatórios são gerados em HTML e salvos na pasta reports/, organizados por data e tipo de teste. Para visualizar um relatório, basta abrir o arquivo HTML no navegador.
Sinta-se à vontade para contribuir com este projeto. Se encontrar algum problema ou tiver sugestões, abra uma issue ou faça um pull request.
Este projeto está licenciado sob a MIT License.