Este guia detalha o processo desde a instalação das ferramentas até a execução de cenários avançados e geração de relatórios dinâmicos para a Transformers API.
1. Instalação das Ferramentas
É necessário ter o Node.js instalado no sistema. O motor de execução e o gerador de relatórios devem ser instalados globalmente via terminal.
Comando de instalação:
sudo npm install -g newman newman-reporter-htmlextranewman: Motor principal que executa as coleções do Postman via linha de comando.
newman-reporter-htmlextra: Extensão que transforma os resultados brutos em painéis visuais detalhados.
2. Preparação de Arquivos e Persistência
O Newman é um executor que depende exclusivamente dos arquivos JSON fornecidos. Configurações voláteis do Postman não são migradas automaticamente.
A. Persistência de Variáveis (Initial Value)
O Postman não exporta a coluna Current Value. Para que o Newman reconheça URLs e Tokens:
No Postman, acesse o seu Environment.
Certifique-se de que a coluna Initial Value está preenchida com os mesmos dados da coluna Current Value.
Sem isto, o Newman não conseguirá resolver as variáveis (ex:
{{base_url}}) e os testes falharão por erro de endereço ou autenticação.
B. Local de Execução e Organização
Importante: Todos os comandos listados neste guia devem ser executados obrigatoriamente dentro da pasta onde os arquivos JSON e os ativos de teste estão localizados. O Newman utiliza o diretório atual do terminal para localizar tanto a coleção quanto os arquivos de massa (CSV, PDF, TXT).
Mantenha na mesma pasta raiz:
Transformers API.postman_collection.json(Export da Coleção).Transformers.postman_environment.json(Export do Ambiente).Arquivos de massa de dados necessários para os testes de upload.
3. Comandos de Execução e Parâmetros
A. Execução Padrão com Histórico (Timestamp)
Utilize o comando abaixo para gerar relatórios que não se sobrescrevem, mantendo um histórico por data e hora.
newman run "Transformers API.postman_collection.json" \
-e "Transformers.postman_environment.json" \
--delay-request 1650 \
-r cli,htmlextra \
--reporter-htmlextra-export "./reports/Relatorio_$(date +%Y-%m-%d_%H-%M).html" \
--reporter-htmlextra-title "Relatório Transformers API - $(date +%d/%m/%Y)" \
--insecureB. Explicação dos Parâmetros Críticos
--delay-request 1650: Adiciona uma pausa de 1.65 segundos entre cada requisição. Obrigatório para evitar bloqueios de segurança (Rate Limit) no Gateway WSO2.
--insecure: Ignora validações de certificados SSL, necessário para ambientes de homologação Neppo.
--suppress-exit-code: Garante a geração do relatório HTML mesmo que existam falhas nos testes, impedindo que o processo pare abruptamente.
4. Execuções Avançadas
A. Executar apenas uma Pasta Específica
Ideal para validar correções em módulos isolados (ex: NLP ou NER) sem rodar a coleção completa.
newman run "Transformers API.postman_collection.json" \
-e "Transformers.postman_environment.json" \
--folder "NLP - Natural Language Processing" \
-r cli,htmlextraB. Teste de Estabilidade (Múltiplas Iterações)
Para identificar testes intermitentes (flakiness), execute a coleção múltiplas vezes em loop.
newman run "Transformers API.postman_collection.json" \
-e "Transformers.postman_environment.json" \
-n 5 \
--delay-request 1650 \
-r cliC. Depuração Detalhada (Verbose)
Para visualizar o corpo das requisições e respostas diretamente no terminal durante a execução:
newman run "Transformers API.postman_collection.json" \
-e "Transformers.postman_environment.json" \
-r cli --verbose5. Gestão de Testes (Skip)
Para manter testes manuais na coleção mas ignorá-los na automação:
No Postman, vá ao Pre-request Script da requisição.
Insira:
pm.execution.skipRequest();.Exporte a coleção novamente.
6. Resolução de Problemas (Troubleshooting)
Erro: File not found: O Newman procura os arquivos de upload no diretório onde o terminal foi aberto. Garanta que navegou até a pasta dos JSONs antes de rodar o comando.
Erro 401 (Unauthorized): Verifique se o pedido "Gera Token" está no topo da lista de execução ou se os valores no Initial Value do Environment estão corretos.
Relatórios vazios: Garanta que possui permissões de escrita na pasta de destino ou que a pasta
./reportsjá existe.
Comentários
0 comentário
Escreva seu comentário aqui
Por favor, entre para comentar.