Como Executar Coleções Postman em CI Sem Newman

Ashley Innocent

Ashley Innocent

20 abril 2026

Como Executar Coleções Postman em CI Sem Newman

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

Em resumo

Newman, o executor CLI oficial do Postman, requer npm e Node.js em seu pipeline de CI. Isso introduz risco na cadeia de suprimentos, adiciona sobrecarga de gerenciamento de dependências e, no nível gratuito do Postman, as execuções de coleções via API agora têm limite de taxa. Este guia cobre três alternativas para executar testes de API em CI sem Newman: o executor CLI do Apidog, k6 e Hurl. O Apidog é o caminho mais direto se você tiver coleções Postman existentes, pois ele as importa nativamente e não tem limites por execução.

💡
Apidog é uma plataforma de desenvolvimento de API gratuita e completa. Seu executor CLI executa coleções compatíveis com Postman em CI sem dependência de npm e sem limites de contagem de execuções. Experimente o Apidog gratuitamente, sem necessidade de cartão de crédito.
botão

Introdução

Newman foi uma boa ideia. Uma ferramenta CLI que executa coleções do Postman em pipelines de CI tornou o teste de API portátil e automatizável. Ele veio com a confiança da marca Postman, integrou-se ao GitHub Actions através de uma popular ação da comunidade e funcionou bem o suficiente para que muitas equipes construíssem toda a sua estratégia de automação de testes de API em torno dele.

Então, três problemas surgiram.

Primeiro, Newman é um pacote npm. Todo pipeline que o utiliza puxa do registro npm no momento da compilação. O comprometimento do ua-parser-js em 2021 e o incidente do node-ipc em 2022 demonstraram que os ataques à cadeia de suprimentos do npm não são teóricos. As equipes de segurança começaram a questionar por que a camada de teste de API precisava de npm.

Segundo, o Postman começou a limitar as execuções de coleções nos níveis gratuitos e pagos básicos. Equipes que dependiam da execução de coleções via API do Postman como parte do CI atingiram as cotas e tiveram que atualizar os planos ou redesenhar seus pipelines.

Terceiro, o ritmo de manutenção do Newman diminuiu. Problemas ficam abertos no GitHub por meses. Algumas APIs de script mais recentes do Postman têm suporte inconsistente no Newman.

O resultado: desenvolvedores que construíram pipelines de CI com Newman agora estão procurando alternativas. Aqui está o que está disponível.

Opção 1: Apidog CLI (recomendado para usuários de coleções Postman)

O executor CLI do Apidog é o substituto funcional mais próximo para o Newman se você já está investido em coleções do Postman.

O que ele suporta

npm não é necessário. O Apidog CLI é distribuído como um binário autônomo. Você o baixa uma vez, adiciona ao seu PATH e ele executa.

Sem limites por execução. Apidog não limita as execuções de coleções em nenhum plano. Um pipeline que executa 500 coleções por dia funciona da mesma forma que um que executa 5.

Instalação

Baixe o binário CLI para sua plataforma em apidog.com/cli ou use o instalador de shell:

# macOS / Linux
curl -sSf https://apidog.com/cli/install.sh | sh

# Verify
apidog --version

Para executores de CI baseados em Docker, Apidog fornece uma imagem oficial:

FROM apidog/cli:latest

Executando uma coleção Postman

Exporte sua coleção do Postman (Arquivo > Exportar > Coleção v2.1) e seu ambiente (Gerenciar Ambientes > Exportar).

Então execute:

apidog run collection.json \
  --environment environment.json \
  --reporter-junit results.xml

Exemplo de GitHub Actions

name: API Tests

on: [push, pull_request]

jobs:
  api-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Apidog CLI
        run: curl -sSf https://apidog.com/cli/install.sh | sh

      - name: Run API tests
        run: |
          apidog run ./tests/collection.json \
            --environment ./tests/env.json \
            --reporter-junit test-results.xml

      - name: Upload test results
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: api-test-results
          path: test-results.xml

Sem npm install, sem package.json, sem matriz de versão do Node.js. O trabalho é executado mais rapidamente e a superfície de dependência é menor.

Exemplo de GitLab CI

api-tests:
  image: apidog/cli:latest
  script:
    - apidog run ./tests/collection.json
        --environment ./tests/env.json
        --reporter-junit test-results.xml
  artifacts:
    reports:
      junit: test-results.xml

Opção 2: k6

k6 é uma ferramenta de teste de carga da Grafana Labs que também lida com testes de API funcionais. Vale a pena conhecer porque é realmente excelente para testes de desempenho, juntamente com verificações funcionais.

O que ele suporta

O que ele não suporta

Quando escolher k6

Se você precisa combinar testes funcionais com testes de desempenho no mesmo pipeline – por exemplo, verificar a correção da API sob carga – o k6 vale o custo da migração. Se você apenas deseja substituir o Newman para testes funcionais, o Apidog é mais rápido de configurar.

Uso básico do k6 em CI

# Instalar (Linux)
sudo apt-get install k6

# Executar um script de teste
k6 run api-tests.js

O CI do k6 exibe aprovação/reprovação com base nas definições de limite em seu script. A saída JUnit XML está disponível via pacote k6-reporter.

Opção 3: Hurl

Hurl é uma ferramenta de teste HTTP de código aberto escrita em Rust. É rápido, não tem dependências de tempo de execução e usa uma DSL de texto simples para definir solicitações e asserções.

O que ele suporta

O que ele não suporta

Quando escolher Hurl

Se você está disposto a reescrever seus testes na DSL do Hurl, você obtém um binário notavelmente pequeno sem tempo de execução. O binário é um único arquivo de 10 MB. Hurl é uma excelente escolha para novos projetos onde você não está carregando dívidas de coleções Postman.

Exemplo básico de teste Hurl

GET https://api.example.com/users/1
HTTP 200
[Asserts]
jsonpath "$.id" == 1
jsonpath "$.email" isString

Hurl no GitHub Actions

- name: Install Hurl
  run: |
    curl -LO https://github.com/Orange-OpenSource/hurl/releases/latest/download/hurl-x86_64-unknown-linux-gnu.tar.gz
    tar -xf hurl-*.tar.gz
    sudo mv hurl /usr/local/bin/

- name: Run API tests
  run: hurl --test tests/*.hurl

Comparando as três opções

Característica Apidog CLI k6 Hurl
Importação Postman Nativo Conversor (com perda) Não
Dependência npm Não Não Não
Scripting JavaScript Sim (API pm.*) Sim (ES6) Não (apenas DSL)
Teste de desempenho Não Sim Não
Tamanho do binário ~50 MB ~30 MB ~10 MB
Limites de execução gratuitos Nenhum Nenhum Nenhum
Saída JUnit Sim Via plugin Sim

Migrando do Newman: passos práticos

Se você tem um pipeline existente baseado em Newman, aqui está o caminho de migração para o Apidog CLI:

Exporte suas coleções. No Postman, clique com o botão direito em cada coleção e exporte como v2.1. Exporte seus ambientes separadamente.

Instale o Apidog CLI. Adicione a etapa de instalação à sua configuração de CI.

Substitua o comando Newman. Um comando Newman típico se parece com:

newman run collection.json -e environment.json --reporters junit --reporter-junit-export results.xml

O equivalente Apidog:

apidog run collection.json --environment environment.json --reporter-junit results.xml

A estrutura das flags é semelhante por design.

Verifique a compatibilidade do script. Execute sua coleção localmente com o Apidog CLI antes de enviar a alteração de CI. A maioria dos scripts pm.* é executada sem modificação. Scripts que usam pm.require para carregar módulos externos precisam de ajuste.

Remova o Node.js da sua configuração de CI. Se o Newman era a única razão para o Node.js aparecer em seu pipeline, você pode remover a etapa de configuração do Node.js e a etapa npm install por completo.

Perguntas Frequentes

Newman está oficialmente descontinuado?
Não, no início de 2026 o Newman ainda é mantido pelo Postman. Mas o ritmo de manutenção é lento e vários problemas abertos afetam casos de uso no mundo real. Não vai desaparecer tão cedo, mas construir novos pipelines sobre ele acarreta risco crescente.

O Apidog CLI exige uma conta Apidog?
Para executar coleções exportadas localmente, não. Para sincronizar coleções de um espaço de trabalho Apidog, sim. Se você está migrando do Postman, pode executar puramente a partir de arquivos JSON exportados.

O Apidog CLI pode executar testes orientados a dados?
Sim. Passe um arquivo de dados CSV ou JSON com a flag --iteration-data. Isso é equivalente à flag -d do Newman para iteração orientada a dados.

Qual é o risco da cadeia de suprimentos com executores baseados em npm?
Qualquer pacote puxado do npm no momento do CI é uma superfície de ataque em potencial. Pacotes comprometidos podem exfiltrar variáveis de ambiente, o que em um contexto de CI inclui chaves e tokens de API. Um executor binário baixado via HTTPS e fixado a um checksum evita essa classe de risco.

O k6 suporta testes gRPC?
Sim. O k6 tem suporte nativo a gRPC, o que o torna uma das poucas ferramentas de código aberto que lida com REST e gRPC no mesmo conjunto de testes. Se sua superfície de API inclui endpoints gRPC, o k6 vale a pena ser avaliado.

O Hurl suporta cabeçalhos de autenticação?
Sim. O Hurl suporta cabeçalhos personalizados, incluindo Authorization, Bearer e autenticação baseada em cookie. Variáveis permitem injetar segredos de variáveis de ambiente em tempo de execução.

A era do Newman como a escolha padrão de CI para testes de API está chegando ao fim. Os riscos da cadeia de suprimentos são reais, os limites do nível gratuito mudaram as contas para muitas equipes e agora existem alternativas melhores. A migração para um pipeline sem Newman é direta, especialmente se você estiver mudando para o Apidog CLI com suas coleções Postman existentes.

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs