Por anos, executar coleções Postman fora do aplicativo desktop significava uma ferramenta: Newman. Então, o Postman lançou sua própria ferramenta de linha de comando oficial, o Postman CLI, e agora existem duas maneiras de fazer aproximadamente a mesma coisa. Ambos executam coleções sem a GUI, ambos se encaixam em pipelines de CI/CD, e ambos executam os mesmos scripts de teste. Então, por que duas ferramentas, e qual delas pertence ao seu pipeline? A versão curta: Newman é o executor de código aberto e sem conta que tem sido o padrão da comunidade desde os primórdios. Postman CLI é a ferramenta mais recente, vinculada à conta, que conecta as execuções de volta à nuvem Postman e relata os resultados lá. A escolha certa depende se você quer os resultados armazenados na plataforma Postman ou prefere um executor que precisa apenas de um arquivo de coleção. Este artigo os compara honestamente para que você possa decidir.
O que é Newman
Newman é o executor de coleção de linha de comando original do Postman. É de código aberto, distribuído como um pacote npm e totalmente gratuito. Ele executa arquivos de coleção exportados do Postman, executa cada requisição e cada asserção `pm.test`, e relata o resultado através de seu código de saída. A característica definidora do Newman é a independência. Ele não requer uma conta Postman, uma chave de API ou uma conexão de rede com os servidores do Postman. Você entrega a ele um arquivo de coleção JSON e ele o executa. Isso o torna previsível e fácil de entender em ambientes restritos. ```bash npm install -g newman newman run checkout-api.postman_collection.json \ --environment staging.postman_environment.json ``` Newman também é leve e extensível. Ele vem com reporters CLI e JUnit, e a comunidade mantém reporters adicionais, como `newman-reporter-htmlextra` para saída HTML rica. Por ser um pacote Node.js, você também pode chamá-lo programaticamente a partir de um script. Nosso guia sobre a diferença entre Newman e Postman cobre como ele se relaciona com o aplicativo desktop.
O que é Postman CLI
Postman CLI é a ferramenta de linha de comando oficial que o Postman construiu e agora recomenda. É um único binário que você instala com um script, não um pacote npm, e está vinculado à sua conta Postman através de uma chave de API. ```bash # instalar (exemplo para macOS/Linux) curl -o- "https://dl-cli.pstmn.io/install/osx_64.sh" | sh # autenticar, depois executar postman login --with-api-key YOUR_API_KEY postman collection run checkout-api ``` A principal diferença é o link para a nuvem. Ao executar uma coleção com o Postman CLI, ele pode puxar a coleção diretamente do seu workspace Postman por ID, e ele envia os resultados da execução de volta para a plataforma Postman, onde aparecem no histórico do workspace e nos painéis. O grande atrativo é a governança de API e as verificações de segurança: o Postman CLI pode executar linting contra suas definições de API durante um pipeline, mostrando violações de esquema e regras como parte da compilação. Então, o Postman CLI é menos um executor de coleção puro e mais um agente de pipeline para a plataforma Postman. Se sua equipe trabalha na nuvem do Postman e deseja que o histórico de execução e a governança sejam centralizados lá, essa integração é o motivo para escolhê-lo.
Comparação lado a lado
| Aspecto | Postman CLI | Newman |
|---|---|---|
| Fonte | Código fechado, ferramenta oficial Postman | Código aberto |
| Instalação | Script de instalação, binário único | Pacote npm |
| Conta Postman | Obrigatória (login com chave de API) | Não é obrigatória |
| Fonte da coleção | Puxa da nuvem Postman por ID, ou arquivo local | Arquivo JSON local |
| Resultados da execução | Reportados de volta à plataforma Postman | Saída do terminal e arquivos de relatório |
| Governança/linting de API | Embutido | Não incluído |
| Repórteres | Limitados, resultados ficam no Postman | CLI, JUnit, mais repórteres HTML da comunidade |
| Uso offline | Limitado, projetado para a nuvem | Totalmente offline assim que o arquivo é local |
| Maturidade | Mais recente | Padrão comunitário estabelecido há muito tempo |
| Custo | Gratuito, mas vinculado aos limites de um plano Postman | Gratuito, sem conta |
O eixo decisivo é a nuvem Postman. O Postman CLI é construído para alimentar resultados e governança na plataforma Postman. O Newman é construído para executar um arquivo e relatar localmente, sem dependência dos servidores do Postman.
Como eles se encaixam no CI/CD
Ambas as ferramentas funcionam em qualquer provedor de CI, incluindo Jenkins, GitHub Actions, GitLab CI e CircleCI. A mecânica difere. Com Newman, você commita os arquivos JSON da coleção e do ambiente para o seu repositório, instala o Newman no job, executa-o e deixa o código de saída não-zero falhar a compilação em caso de falha no teste. Tudo está autocontido no repositório e no pipeline. Nossos guias sobre automação de testes de API em CI/CD e automação de testes de API com GitHub Actions mostram esse padrão. Com o Postman CLI, você armazena uma chave de API do Postman como um segredo no provedor de CI, autentica e executa a coleção pelo seu ID. A coleção é puxada da nuvem do Postman em vez do repositório, e os resultados são enviados de volta para o workspace. Isso mantém a fonte da verdade no Postman, o que algumas equipes preferem e outras acham limitante. Uma diferença prática: o Newman mantém os testes versionados com seu código, já que o JSON da coleção fica no repositório. O Postman CLI mantém os testes versionados na plataforma do Postman, já que ele puxa por ID. Decida qual fonte da verdade sua equipe deseja antes de escolher.
O ângulo da governança
A única funcionalidade que mais claramente separa as duas ferramentas é a governança de API. O Postman CLI pode executar uma verificação estilo `postman api lint` contra uma definição de API armazenada em seu workspace do Postman, avaliando-a em relação a regras de nomenclatura, segurança, completude do esquema e consistência. Quando essa verificação é executada dentro de um pipeline, uma definição que viola uma regra falha na compilação antes que a alteração seja mesclada. Newman não tem equivalente. Ele executa coleções e relata resultados de testes, e esse é o limite de sua função. Se sua organização se preocupa em aplicar padrões de design de API automaticamente, essa capacidade existe apenas no Postman CLI, e é uma razão real para escolhê-lo. Se você não aplica regras de design no pipeline, a funcionalidade é irrelevante e a simplicidade do Newman vence. Vale a pena ser honesto sobre isso porque reformula a comparação. O Postman CLI não é apenas "Newman, mas mais novo". É um tipo diferente de ferramenta: um agente de pipeline para a plataforma Postman que por acaso inclui um executor de coleções. Newman é, e apenas é, um executor de coleções. Uma vez que você vê dessa forma, a escolha se torna menos sobre recursos e mais sobre se você quer que seus testes estejam vinculados à plataforma Postman.
Considerações de migração
Equipes que já usam Newman às vezes perguntam se deveriam mudar para o Postman CLI. Raramente há um motivo forte para isso. O Newman ainda é mantido, ainda é gratuito e ainda funciona em qualquer provedor de CI. Mudar significa adicionar uma chave de API como um segredo de CI, alterar como as coleções são obtidas e aceitar uma dependência da nuvem do Postman. A menos que você queira especificamente um histórico de execução centralizado ou verificações de governança, os custos da migração superam os retornos. Equipes que estão começando do zero enfrentam a escolha mais interessante. Se a equipe está comprometida com o Postman como sua ferramenta principal e paga por um plano, o Postman CLI mantém tudo em um único ecossistema e é a escolha natural. Se a equipe deseja flexibilidade, testes versionados no repositório e liberdade da nuvem de um único fornecedor, Newman, ou uma ferramenta inteiramente não-Postman, faz mais sentido. Não há uma resposta universalmente correta; há apenas a resposta que corresponde à forma como sua equipe já trabalha.
Qual você deve escolher
Escolha Newman se você deseja um executor sem dependência de conta, se deseja testes versionados em seu repositório, se precisa de relatórios HTML ricos por meio de repórteres da comunidade, ou se executa em ambientes restritos onde a conexão com a nuvem do Postman não é permitida. A independência e a maturidade do Newman o tornam o padrão seguro para a maioria dos pipelines. Escolha o Postman CLI se sua equipe vive na plataforma Postman, se deseja o histórico de execução e painéis centralizados lá, ou se a governança de API e o linting de definição no pipeline são valiosos para você. Sua integração estreita com a nuvem é uma vantagem genuína para equipes centradas no Postman. Se você está pesando essa decisão, vale a pena perguntar se você realmente quer estar preso ao ecossistema Postman. Para outras abordagens, consulte nosso guia sobre como executar coleções Postman em CI sem Newman e nossa análise mais ampla sobre testes de API sem Postman.
Uma alternativa de ferramenta única: Apidog
Tanto o Postman CLI quanto o Newman assumem que você criou seus testes no Postman. O Apidog remove essa divisão. Você projeta APIs, depura requisições e constrói cenários de teste automatizados com asserções visuais em um único aplicativo, e então executa esses cenários em CI/CD com o executor de linha de comando embutido. Não há etapa de exportação e nenhum pacote de executor separado, porque as definições de teste e o motor de execução são o mesmo produto. Apidog também inclui design de API, mock servers e testes de desempenho, para que uma equipe possa cobrir todo o ciclo de vida da API sem juntar várias ferramentas. Você pode baixar Apidog e usar seus recursos de teste gratuitamente, incluindo o executor CLI para pipelines.
Perguntas frequentes
O Postman CLI está substituindo o Newman?
O Postman posiciona o Postman CLI como sua ferramenta de linha de comando oficialmente recomendada, mas o Newman ainda é mantido e amplamente utilizado. Newman continua sendo a melhor escolha quando você deseja um executor sem conta e versionado no repositório. Ambos provavelmente coexistirão por algum tempo, então não há necessidade urgente de migrar.
O Postman CLI requer uma conta Postman?
Sim. O Postman CLI autentica com uma chave de API do Postman e é projetado para conectar as execuções de volta ao seu workspace do Postman. O Newman, por outro lado, não precisa de conta e executa puramente a partir de um arquivo de coleção local.
Qual ferramenta oferece melhores relatórios?
Newman tem relatórios mais flexíveis através de repórteres da comunidade, especialmente `newman-reporter-htmlextra` para saída HTML detalhada e XML JUnit para painéis de CI. O Postman CLI reporta os resultados para a própria plataforma Postman, o que é conveniente se sua equipe trabalha lá, mas menos flexível para arquivos de relatório autônomos.
O Postman CLI pode executar um arquivo de coleção local?
O Postman CLI pode executar coleções a partir de arquivos locais, mas ele é construído em torno da busca de coleções da nuvem do Postman por ID e do relatório de resultados de volta. Se você quer uma ferramenta que trate um arquivo JSON local como a fonte da verdade sem envolvimento da nuvem, Newman se encaixa nesse modelo mais naturalmente.
Qual é mais rápido no CI?
Para a execução pura de coleções, a diferença é pequena e depende do tamanho da coleção e das condições da rede. Newman tem uma pegada menor e nenhuma ida e volta para a nuvem. O Postman CLI adiciona a sobrecarga de autenticar e sincronizar resultados para a plataforma. Para a maioria dos pipelines, escolha com base no ajuste do fluxo de trabalho em vez da velocidade bruta.
