O desenvolvimento de Application Programming Interfaces (API) robustas e seguras é essencial para a construção de aplicações modernas e escaláveis. Nesse contexto, a realização de testes adequados é uma etapa crítica para garantir a qualidade das API.

 

Um dos principais recursos utilizados para automatizar e organizar esses testes é o Newman, uma ferramenta de linha de comando do Postman (plataforma para construção e utilização de API), que permite executar coleções de testes de API.


Este artigo explica o que é o relatório Newman, como pode ser integrado no processo de testes e a importância de seus relatórios na análise de resultados e na otimização do ciclo de desenvolvimento. Veremos como essa ferramenta pode ser aplicada para gerar relatórios detalhados, facilitando a identificação de falhas e contribuindo para a melhoria contínua das API.

 

 

O que é o Newman?

O Newman é uma ferramenta de linha de comando open-source que permite executar coleções de testes do Postman. Essencialmente, o Newman atua como um “executor” de coleções, permitindo que a execução de testes de API de forma automatizada, sem a necessidade de uma interface gráfica.


Isso é particularmente útil em cenários de integração contínua (CI/CD), onde desejamos automatizar o processo de teste de API como parte de um pipeline de build e lançamento.

 

 

Relatórios e análise de resultados

O Newman fornece uma ampla variedade de opções para gerar relatórios sobre testes de API. Podemos escolher gerar relatórios em formato HTML, JSON (JavaScript Object Notation) ou CLI (Command Line Interface), com informações detalhadas sobre cada solicitação, os testes realizados, o tempo de execução e o status de cada teste.


Os relatórios gerados pelo Newman são cruciais para a análise do desempenho dos testes. Ao analisar esses relatórios, podemos identificar erros, gargalos de desempenho, áreas de melhoria e garantir a qualidade geral das API.


Aprofundemos um pouco cada formato de relatório:

Formato de relatório

Descrição

HTML

Relatório detalhado e legível, ideal para análise visual.

JSON

Formato estruturado e fácil de analisar com scripts ou ferramentas de automação.

CLI

Saída de texto simples no terminal, adequada para uso em scripts ou integração com outros sistemas.

 

 

Configurando o ambiente de testes

A configuração do ambiente de testes para utilizar o Newman é um processo relativamente simples:

  1. Instalar o Node.js, que é a plataforma de execução do Newman.
  2. Instalar o Newman utilizando o gerenciador de pacotes npm. Para tal, basta executar o comando “npm install -g Newman” no terminal;
  3. Certificar que o Postman está instalado e que suas coleções de testes estão configuradas de acordo com as necessidades.

 

 

Escrevendo testes de API com o Postman

Pois bem, já vimos o que é o Newman, sua configuração e um pouco sobre o Postman. Vamos então passar à prática.


Para começarmos a escrever testes de API com o Postman, precisamos criar uma coleção. Uma coleção é um agrupamento de solicitações de API relacionadas. Em cada solicitação, podemos definir as informações necessárias, como o método HTTP (GET, POST, PUT, DELETE), a URL, os cabeçalhos e o corpo da solicitação. Dentro de cada solicitação, também podemos definir testes específicos para verificar se a resposta da API está de acordo com as expectativas. Esses testes podem verificar o código de status da resposta, o conteúdo da resposta, ou outros aspetos relevantes da API.


Vamos ao passo a passo:

1. Clicar em “Create Collection”:

Newman report 1

 

2. Em seguida, clicar em “New”:

Newman report 2

 

3. Neste caso, utilizaremos o formato HTTP, mas fica ao critério de cada um:

Newman report 3

 

4. Configurar a requisição da seguinte forma:

 

5. Em seguida, faremos algumas validações para que garantir que a API retornou o que esperávamos. Para isso, vamos à aba “Scripts” > “Post-response” e iremos inserir o seguinte código:

// Verifica se o status da resposta é 200
pm.test("Status code é 200", function () {
    pm.response.to.have.status(200);
});

// Verifica se o tempo de resposta é menor que 500ms
pm.test("Tempo de resposta é menor que 500ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(500);
});

 

6. Agora basta aplicar “ctrl”+“s” para salvar a nossa requisição e exportar a coleção:

Newman report 4

Newman report 5

 

 

Executando testes de API com Newman

Executar testes de API com Newman é tão simples quanto executar um comando no terminal. O comando básico para executar uma coleção de testes é “newman run .json”.


Podemos personalizar este comando de acordo com as necessidades, adicionando opções para especificar variáveis de ambiente, opções de relatórios ou outros parâmetros. Por exemplo, podemos usar a opção “-e” para definir variáveis de ambiente para a coleção. Também podemos usar a opção “-r” para gerar relatórios em formato HTML, JSON ou CLI.


Por fim, vamos executar:

  • Abrir o Git Bash (pode ser instalado através deste link);
  • Inserir o comando “npm install -g newman”;
  • Inserir o comando “npm install -g newman-reporter-htmlextra”;
  • Ir até à pasta em que se encontra o arquivo;
  • Inserir o comando:
    • “newman run .json -r htmlextra” (se desejarmos gerar relatório em HTML); 
      ou
    • “newman run .json” (para gerar o relatório no próprio command line)

 

Nota: caso optemos por gerar o relatório em HTML, no local em que se encontra testado será criada uma pasta com o nome “newman”. Nela virá um arquivo semelhante a este: 

Newman report 6

 

 

Benefícios da utilização do Newman

  • Automação de testes
    Automatiza a execução dos testes de API, liberando tempo para outras tarefas e garantindo consistência em cada execução.

  • Integração contínua
    Permite integrar os testes de API em pipelines de CI/CD, tornando o processo de desenvolvimento mais eficiente e robusto.

  • Escalabilidade
    Facilita a execução de testes em vários ambientes, como desenvolvimento, staging e produção, com apenas algumas alterações na configuração.

  • Relatórios detalhados
    Gera relatórios completos sobre o desempenho dos testes, ajudando a identificar e a solucionar problemas com mais rapidez.

 

 

Conclusão

O Newman é uma ferramenta poderosa que permite automatizar testes de API, melhorar a eficiência do processo de desenvolvimento e garantir a qualidade das API. Ao integrar o Newman no fluxo de trabalho, podemos realizar testes de forma consistente e eficiente, obtendo informações detalhadas sobre o desempenho das nossas API.


Incentivo a exploração das diversas funcionalidades do Newman, como a execução de testes em paralelo, o uso de variáveis de ambiente e a personalização de relatórios, para otimizar ainda mais os processos de testes.

Partilha este artigo