Automação e testes

Use uma coleção para repetir um conjunto de requisições, uma cadeia quando uma resposta fornece dados para a próxima chamada e um agendamento quando uma requisição salva precisa rodar regularmente.

Execute uma coleção

Abra o executor da coleção, escolha o ambiente e defina o número de iterações. Adicione um intervalo entre requisições se necessário e escolha se uma requisição ou asserção com falha deve interromper a execução. Inicie e acompanhe cada resultado.

Para variar as entradas, carregue um CSV com cabeçalhos de coluna ou um array JSON de objetos. Por exemplo:

orderId,expectedStatus
1001,200
1002,404

Uma requisição para {{baseUrl}}/orders/{{orderId}} recebe o orderId da linha. Leia o status esperado no script posterior com pm.iterationData.get("expectedStatus"). Cada linha fornece uma iteração.

O resultado registra status, duração e asserções que falharam. O histórico guarda o nome do arquivo de dados e a quantidade de linhas. Exporte JUnit XML para ferramentas de CI ou HTML para um relatório de leitura. Revise os relatórios antes de compartilhar, principalmente se a API devolver dados pessoais ou confidenciais.

Escreva um script focado

O script anterior prepara valores antes da chamada. O posterior verifica a resposta. Coloque este exemplo no editor de script posterior:

pm.test("Expected status", function () {
    const expected = Number(pm.iterationData.get("expectedStatus") || 200);
    pm.expect(pm.response.code).to.equal(expected);
});

if (pm.response.code === 200) {
    const body = pm.response.json();
    pm.environment.set("orderId", String(body.id));
}

Use pm.response.text(), pm.response.json(), pm.response.headers.get("Content-Type") e pm.response.responseTime para consultar a resposta. A API também oferece pm.environment, pm.variables, pm.collectionVariables, metadados de pm.request somente para leitura, pm.iterationData, pm.test, asserções pm.expect no estilo Chai e console.log.

pm.sendRequest faz uma chamada HTTP adicional com callback, concluído antes de a função retornar. Os scripts rodam em uma execução isolada de JavaScript, com limite de cinco segundos, sem módulos Node.js nem acesso ao .NET. Confira scripts importados contra essas APIs; isso não significa suporte a toda extensão do Postman. Scripts no nível da coleção e autenticação editável nesse nível não são suportados.

Passe valores por uma cadeia

Crie a cadeia, acrescente requisições salvas na ordem necessária e selecione o ambiente. Uma extração JSONPath como $.id salva o valor da resposta em orderId; a próxima etapa pode usar {{orderId}}.

Condições verificam se uma variável existe, é igual a um valor ou contém um texto, combinando verificações com AND ou OR. Quando a condição não é satisfeita, a etapa é pulada. Ative a interrupção em caso de erro quando as etapas seguintes dependerem do sucesso anterior. Nos detalhes, diferencie uma etapa que falhou de uma que foi pulada.

Crie um mock no desktop

Abra o editor de mocks, crie uma entrada de servidor e adicione rotas com protocolo, método ou operação, caminho, resposta e atraso opcional. Modelos, duplicação de rotas e verificação de precedência ajudam a montar o conjunto. Você também pode salvar uma resposta HTTP do histórico como rota.

Rotas HTTP aceitam resposta exata ou dados gerados por contrato. Revise exemplos e cenários e use contratos para importar modelos ou fixar uma versão publicada. Mocks do desktop também aceitam respostas gRPC e sequências de mensagens WebSocket.

Os mocks do desktop são gratuitos e respondem a chamadas feitas dentro do Echo. Eles não abrem uma porta de rede. Uma URL HTTP compartilhada exige hospedagem pública paga. Para usar regras na sua aplicação .NET ou executar um snapshot offline, consulte os pacotes.

Agende uma requisição

Salve a requisição, abra seu agendamento e escolha ambiente, expressão cron e modo de execução. Defina se está ativo e confira a próxima execução exibida. Por exemplo, */15 * * * * solicita uma execução a cada quinze minutos.

Agendamentos do desktop precisam que o Echo e a máquina continuem rodando. Os hospedados continuam nos servidores Gapfy depois de fechar o aplicativo e exigem plano pago e a permissão correspondente. O modo hospedado aceita HTTP e queries ou mutations GraphQL, com pelo menos cinco minutos entre execuções. Não aceita gRPC, WebSocket, SSE nem subscriptions GraphQL.

Espere a confirmação de que o agendamento hospedado chegou ao servidor. Uma alteração na fila ou uma sincronização comum não é essa confirmação. Consulte o último resultado, a mensagem de falha e a duração de referência. Ajuste o limite de regressão ou redefina a referência quando ela deixar de ser útil. O Maestro também mostra resultados hospedados e resumos sincronizados de execuções de coleções.

Execute pelo terminal

A CLI gapfy-echo executa pastas no formato Echo sem abrir o desktop. Ela exige .NET 11 e acesso ao pacote no feed Gapfy; é diferente da ferramenta estável echo-mock descrita no guia de pacotes.

Com a CLI instalada, execute uma exportação de pasta vinculada:

gapfy-echo run collection ./orders --env Development --data ./rows.csv --bail --junit ./results/run.xml --html ./results/run.html

As opções incluem iterações, tempo limite por requisição, proxy e diagnóstico detalhado. A listagem e o download de coleções do servidor usam --server e uma chave de aplicação com RunCollections. As requisições rodam na máquina da CLI, e os resultados não são enviados automaticamente.

Cadeias usam arquivos complementares explícitos chains/*.chain.json, o comando run chain e --chain. A exportação de pasta vinculada não cria esses arquivos de cadeia. OAuth com login no navegador não está disponível na CLI. Os códigos de saída são 0 para execução concluída sem falhas, 1 para falha de requisição ou asserção, 2 para erro de uso, carregamento ou relatório, e 130 para cancelamento. Confira também a quantidade executada: uma coleção vazia pode terminar sem executar requisições.

Os assistentes de IA podem preparar asserções, conjuntos de testes e melhorias de cadeia para revisão.