Melhores Ferramentas de Teste de API na Linha de Comando em 2026

Compare as principais ferramentas de teste de API baseadas em terminal de 2026: Apidog CLI, Hurl, Newman, Bruno CLI, Schemathesis, k6, e mais, com comandos de instalação e notas de CI.

Ashley Innocent

Ashley Innocent

12 agosto 2026

Melhores Ferramentas de Teste de API na Linha de Comando em 2026

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

O teste de API saiu da GUI. Os testes agora são executados em contêineres CI sem display conectado, em ambientes de staging que você só acessa via SSH, e sob agentes de IA que falam apenas shell. Nesses três lugares, o terminal é onde um teste passa ou falha sem um humano observando.

Este resumo classifica as ferramentas que realizam um trabalho real de teste a partir de um prompt de shell. "Baseado em terminal" aqui significa que o loop completo é executado em um shell: instala a partir de um gerenciador de pacotes, executa um comando, lê um código de saída. A classificação pesa asserções embutidas, fluxos de várias etapas, relatórios prontos para CI e status de manutenção. Clientes manuais como o curl ainda ganham um lugar perto do final, porque todo fluxo de trabalho de terminal depende deles entre as execuções de teste. Para uma pesquisa mais ampla que inclui ferramentas GUI e hospedadas, consulte o resumo das melhores ferramentas gratuitas para teste de API.

button

O que separa uma ferramenta de teste de um cliente

Um cliente de terminal envia uma requisição e mostra a resposta. Uma ferramenta de teste de terminal julga a resposta e reporta o veredito como um código de saída que seu pipeline pode usar como gatilho. O segundo grupo é o cerne desta lista, e quatro características o definem:

Com os critérios definidos, aqui estão as dez ferramentas que valem seu tempo em 2026.

1. Apidog CLI: crie visualmente, execute sem interface gráfica em qualquer lugar

Apidog é uma plataforma API tudo-em-um que cobre design, testes, mocking e documentação. O Apidog CLI (apidog-cli no npm) é seu braço de terminal. Você constrói cenários de teste no editor visual, com requisições encadeadas, variáveis extraídas e asserções, então apidog run os executa a partir de qualquer shell e entrega ao seu pipeline um código de saída limpo.

npm install -g apidog-cli
apidog login --with-token <YOUR_TOKEN>

# Copy the exact command from your scenario's CI/CD tab
apidog run -t <scenario_id> -e <env_id> -r cli

Você não adivinha os IDs. Abra o cenário no Apidog, vá para a aba CI/CD e copie o comando gerado. Os relatores cobrem cli, html, json e junit, escritos em apidog-reports/, para que a mesma execução alimente um terminal, um painel e um armazenamento de artefatos. Execuções orientadas por dados puxam iterações de arquivos CSV ou JSON. A saída é JSON estruturado com agentHints.nextSteps, o que permite que um agente de codificação de IA execute uma suíte e decida seu próximo movimento sem screen-scraping. Ele precisa de Node.js 16 ou posterior.

Melhor para: equipes que desejam cenários complexos de várias etapas criados em um editor e executados identicamente em um laptop, em CI e por agentes. Limitação honesta: não é código aberto e não é um remetente ad-hoc. Os cenários vivem em um projeto Apidog, então esta é a opção de plataforma integrada em vez de uma ferramenta HTTP básica. O guia completo do Apidog CLI abrange todo o conjunto de comandos.

2. Hurl: testes de texto puro em um único binário Rust

Hurl executa requisições HTTP escritas em um formato de texto puro e faz asserções sobre as respostas. Ele é construído em Rust sobre o libcurl e é distribuído como um único binário, então não há runtime para instalar. Os testes se parecem quase com HTTP bruto, o que os torna fáceis de revisar em um pull request.

brew install hurl   # ou: cargo install --locked hurl

cat > login.hurl <<'EOF'
POST https://api.example.com/login
{ "user": "acme", "pass": "s3cret" }

HTTP 200
[Asserts]
jsonpath "$.token" exists
EOF

hurl --test login.hurl   # saída não-zero se uma asserção falhar

Melhor para: verificações de estilo de contrato e testes de fumaça que você mantém sob controle de versão como texto legível. A flag --test o torna um portão natural de CI. Limitação honesta: é focado em HTTP, então não irá dirigir gRPC nem gerar carga, e a lógica complexa significa mais arquivos .hurl em vez de uma linguagem de script.

3. Newman: execute coleções do Postman sem interface gráfica

Newman é o executor de linha de comando de código aberto para coleções do Postman (Apache-2.0). Se sua equipe já escreve requisições e testes no Postman, Newman executa essa mesma coleção a partir de um terminal sem GUI. Você exporta a coleção e o ambiente como JSON e aponta Newman para os arquivos.

npm install -g newman

newman run collection.json -e staging.json

Melhor para: equipes que investiram no Postman e querem coleções existentes sendo executadas em um pipeline sem assentos extras. Ele sai com código não-zero quando um teste falha, então o CI bloqueia a build de forma limpa. Limitação honesta: ele executa apenas coleções no formato Postman, e a criação ainda acontece na GUI do Postman. Ele executa testes; não ajuda você a escrevê-los.

4. Postman CLI: a alternativa oficial ao Newman

O Postman CLI é o próprio executor de código fechado do Postman. Ao contrário do Newman, ele faz login em sua conta Postman e pode executar uma coleção por seu ID, diretamente do workspace, com os resultados sendo reportados de volta para a nuvem do Postman.

postman login --with-api-key <YOUR_API_KEY>

postman collection run <collection_id> -e <environment_id>

Melhor para: equipes Postman que querem execuções ligadas à nuvem sem exportar arquivos JSON. Limitação honesta: é de código fechado e vinculado a uma conta Postman, e ter dois executores oficiais gera confusão real sobre qual adotar. A comparação Postman CLI vs Newman esclarece quando cada um faz sentido.

5. Bruno CLI: coleções nativas do Git, executadas com bru

Bruno armazena coleções como arquivos .bru de texto simples em pastas comuns, então as requisições vivem em seu repositório como qualquer outro código. Seu CLI, @usebruno/cli, executa essas coleções a partir do terminal com o comando bru, sem necessidade de conta na nuvem.

npm install -g @usebruno/cli

# Run every request in the current collection folder
bru run --env staging

Melhor para: equipes que desejam coleções revisadas em pull requests e executadas offline, com asserções e scripts tratados nos mesmos arquivos. Ele escreve relatórios JSON, JUnit e HTML para CI. Limitação honesta: a autoria em texto puro agrada mais aos desenvolvedores do que às equipes mistas, e o ecossistema é mais jovem que o do Postman. Veja como ele se compara ao executor do Apidog em Bruno CLI vs Apidog CLI.

6. Schemathesis: seu esquema escreve os testes

Schemathesis segue um caminho diferente: ele lê seu esquema OpenAPI ou GraphQL e gera milhares de casos de teste a partir dele, usando testes baseados em propriedades construídos sobre o Hypothesis do Python. Em vez de escrever cada caso, você o deixa fuzzar entradas para encontrar 500s, violações de esquema e respostas que quebram o contrato que sua documentação promete.

pip install schemathesis

schemathesis run https://api.example.com/openapi.json

Melhor para: pegar bugs de casos de borda que ninguém pensou em escrever um teste, especialmente antes de um lançamento. É um dos argumentos mais fortes para manter um esquema preciso. Limitação honesta: ele precisa de um esquema real para funcionar, e uma API grande pode produzir ruído que você filtrará com hooks e opções.

7. Step CI: um arquivo YAML por fluxo de várias etapas

Step CI descreve um fluxo de trabalho de API em um único arquivo YAML: etapas, valores capturados e verificações. Ele cobre REST, GraphQL, gRPC, tRPC e SOAP em um único fluxo de trabalho e valida contra um esquema OpenAPI. O mesmo arquivo é executado em um laptop e em um pipeline.

npm install -g stepci

stepci run workflow.yml

Melhor para: sequências de login-e-depois-use-o-token descritas declarativamente, sem script. Limitação honesta: ele carrega um runtime Node, e a cadência de lançamento diminuiu, então verifique a atividade recente do repositório antes de construir um pipeline sobre ele.

8. curl: a base que já está instalada

curl vem com macOS, a maioria das distribuições Linux e o Windows atual, então a instalação mais leve é nenhuma instalação. É o cliente de referência contra o qual todas as outras ferramentas se medem, e com -w e cola de shell, pode atuar como um harness de teste mínimo.

# POST JSON e imprime apenas o status HTTP
curl -s -o /dev/null -w "%{http_code}\n" \
  -X POST https://api.example.com/orders \
  -H "Content-Type: application/json" \
  -d '{"sku":"A-102","qty":2}'

Melhor para: requisições pontuais, scripts e ambientes bloqueados onde nada de novo pode ser instalado. Limitação honesta: as asserções são inteiramente faça você mesmo. Você passa para jq, compara valores manualmente e gerencia códigos de saída na mão. Ele envia e mostra; não testa. O guia alternativas ao curl para teste de API REST aborda o que procurar quando isso não for mais suficiente.

9. HTTPie e xh: requisições legíveis manualmente

HTTPie tornou as requisições de terminal legíveis: o comando é http, os campos JSON são pares key=value, e as respostas vêm coloridas e formatadas. xh reimplementa essa mesma sintaxe em Rust como um único binário estático, com inicialização mais rápida e uma flag --curl que imprime o comando curl equivalente.

http POST api.example.com/users name=acme plan=pro   # HTTPie
xh   POST api.example.com/users name=acme plan=pro   # mesma sintaxe, um binário

Melhor para: explorar uma API manualmente enquanto você constrói os testes reais em outro lugar. Limitação honesta: ambos são clientes, não executores. HTTPie carrega um runtime Python; xh troca um conjunto menor de recursos por velocidade. Nenhum deles faz asserções sobre uma resposta.

10. k6: quando a questão é carga

k6 responde a uma pergunta diferente: não "esta resposta está correta", mas "ela aguenta sob tráfego". É um único binário Go da Grafana, scriptado em JavaScript, com limites que transformam um teste de carga em um gate de aprovação/reprovação. Se um limite for violado, k6 sai com código não-zero, o que o CI interpreta como uma falha.

brew install k6

k6 run load.js   # vus, duration e thresholds definidos no script

Melhor para: verificações de desempenho que vivem no mesmo repositório que testes funcionais e são executadas a partir de um laptop ou um pipeline. Limitação honesta: é uma ferramenta de carga sob AGPL-3.0, não um cliente de teste funcional, e cenários significativos significam aprender sua API JavaScript.

Prefere algo interativo?

Se você deseja uma interface semelhante ao Postman sem sair do shell, essa é uma categoria separada: clientes TUI como atac e posting desenham editores de requisição completos dentro do terminal. Eles exploram APIs; eles não bloqueiam pipelines. O resumo dos melhores clientes REST API de terminal e TUI aborda esse lado em profundidade.

Tabela comparativa

Ferramenta Função Asserções embutidas Instalação Código aberto
Apidog CLI Executar cenários criados visualmente em CI Sim npm i -g apidog-cli Não (camada gratuita)
Hurl Testes HTTP em texto puro Sim brew install hurl Apache-2.0
Newman Coleções Postman sem interface gráfica Sim npm i -g newman Apache-2.0
Postman CLI Execuções Postman vinculadas à nuvem Sim Instalador Postman Não
Bruno CLI Coleções .bru nativas do Git Sim npm i -g @usebruno/cli MIT
Schemathesis Fuzzing a partir de um esquema Geradas pip install schemathesis MIT
Step CI Fluxos YAML de várias etapas Sim npm i -g stepci MPL-2.0
curl Requisições brutas, scripting Faça você mesmo pré-instalado Sim
HTTPie / xh Requisições manuais legíveis Não brew install httpie / xh Sim
k6 Carga com limites de aprovação/reprovação Limites brew install k6 AGPL-3.0

Como escolher

Comece pelo trabalho, não pela ferramenta. Se os testes já existem no Postman, Newman ou o Postman CLI os executa amanhã. Se você quer testes como texto revisável em seu repositório, Hurl e Bruno CLI são as escolhas mais fortes. Se você tem um esquema OpenAPI sólido, adicione Schemathesis e deixe-o caçar os bugs que você não previu. Mantenha curl e xh para a camada manual, e traga k6 no dia em que a pergunta mudar de correção para capacidade.

Escolha o Apidog CLI quando preferir criar cenários em um editor visual e executá-los em todos os outros lugares. É a única opção aqui onde o mesmo projeto também carrega seu design de API, dados mock e documentação, o que é o comércio explicado em Apidog CLI: o cliente de API que vive em seu terminal. Para uma visão mais ampla dos testes por trás dessas escolhas, o guia estratégias de teste de API mapeia onde cada camada se encaixa.

FAQ

Posso testar APIs inteiramente a partir do terminal? Sim. Crie testes como arquivos (Hurl, Bruno, Step CI) ou em um editor visual (Apidog, Postman), e então execute-os sem interface gráfica com o CLI correspondente. Cada executor nesta lista retorna um código de saída, que é tudo o que o CI precisa.

Qual a diferença entre um cliente de API de terminal e uma ferramenta de teste? Um cliente (curl, HTTPie, xh) envia uma requisição e mostra a resposta. Uma ferramenta de teste (Apidog CLI, Hurl, Newman) faz asserções sobre a resposta e falha com um código de saída diferente de zero. Clientes exploram; ferramentas de teste atuam como portões.

Quais destes são executados em pipelines de CI? Todos os executores: apidog run, hurl --test, newman run, postman collection run, bru run, schemathesis run, stepci run e k6 run todos saem com código não-zero em caso de falha. Para um exemplo de pipeline funcionando, veja como executar testes do Apidog CLI no GitHub Actions.

Algum destes lida com testes de carga? k6 é o especialista em carga aqui, com limites como portões de aprovação/reprovação. Os outros verificam a correção, não a capacidade, então muitas equipes emparelham um executor funcional com k6.

Preciso de uma especificação OpenAPI para usar essas ferramentas? Apenas o Schemathesis exige uma, pois ele gera testes a partir do esquema. Em todos os outros casos, uma especificação ajuda, mas não é um bloqueio: Apidog importa OpenAPI 3.x, Swagger 2.0 e coleções Postman, e o Step CI pode validar respostas contra um esquema.

O padrão em todas as dez ferramentas é o mesmo: a autoria busca conforto, a execução busca um shell. Escolha onde você deseja escrever os testes e, em seguida, certifique-se de que o executor entregue um código de saída ao seu pipeline. Se você quiser as duas metades de uma única plataforma, baixe o Apidog, crie um cenário no editor e insira seu comando apidog run no CI para fechar o ciclo.

Pratique o design de API no Apidog

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