O Postman é uma das ferramentas mais populares para desenvolver e testar APIs. Utilizo-o desde 2017 e aprender a utilizar o Postman para testar APIs ajudou-me realmente a acelerar o meu processo de testes.
Neste artigo, vou guiá-lo passo a passo, mostrando como validar pedidos de API utilizando o Postman. No final, deverá conseguir criar os seus próprios testes automatizados.
Mas antes de avançarmos para o tutorial prático do Postman, deixe-me explicar algumas coisas sobre APIs.
O que são APIs?

API é a abreviatura de Interface de Programação de Aplicações. Ainda não é muito claro, pois não? 😅 Deixe-me explicar melhor:
Uma API é uma interface que define as formas como os scripts ou programas podem comunicar com uma aplicação ou serviço. Funcionam partilhando dados e informações entre aplicações, sistemas e dispositivos.
A API mais comum atualmente é a API REST, que utilizarei mais à frente neste tutorial de testes de API com o Postman. REST é também um acrónimo de REpresentational State Transfer. As APIs REST baseiam-se em princípios como a comunicação cliente-servidor, interfaces uniformes para comunicar entre sistemas, operações sem estado, entre outros.
A comunicação é realizada através de pedidos e respostas HTTP.
A anatomia dos pedidos HTTP
Os pedidos HTTP têm 4 componentes principais:
- O URL
- O endpoint, que representa o recurso específico com o qual queremos interagir.
- O método HTTP — os métodos HTTP informam o servidor se estamos a tentar obter informações ou que tipo de modificações pretendemos que a aplicação efetue. Hoje, abordaremos as operações CRUD básicas:
- Criar: POST
- Ler: GET
- Atualizar: PUT
- Eliminar: DELETE
- O corpo do pedido. Este é opcional, dependendo do método que utilizamos. Neste tutorial do Postman, utilizaremos o formato JSON (JavaScript Object Notation).
Have an account? Log In
Códigos de resposta HTTP
Quando efetuamos um pedido HTTP, o servidor emite um código de resposta que nos informa se o pedido foi bem-sucedido ou não. As principais categorias de códigos de resposta HTTP são:
- 1xx: resposta informativa
- 2xx: sucesso
- 3xx: redirecionamento
- 4xx: erro do cliente
- 5xx: erro do servidor
Gosto muito desta representação visual da Julia Evans:

Pode consultar uma lista completa dos códigos de resposta aqui ou, se preferir que sejam explicados por gatos, aqui 🐱👓
Está bem, penso que já abordámos o suficiente para começar o tutorial propriamente dito — vejamos agora como utilizar o Postman para testar APIs!
Como utilizar o Postman para testar APIs (passo a passo)
Pode utilizar o Postman de duas formas: diretamente a partir do navegador (terá de criar uma conta para o poder fazer) ou instalá-lo no seu computador — ter uma conta é opcional nesta opção.
Prefiro tê-lo instalado, simplesmente porque não gosto da confusão causada por demasiados separadores abertos no navegador, por isso é essa a opção que utilizarei daqui em diante.
Este é um tutorial para principiantes, por isso utilizarei alguns casos de teste simples para demonstrar como utilizar o Postman para testar uma API. A aplicação de demonstração que utilizarei é o Swagger Petstore e o cenário que vou testar é:
- Adicionar um novo animal de estimação à loja utilizando o estado «pending»
- Atualizar o estado do animal de estimação para «available»
- Validar se as informações do animal de estimação foram atualizadas
- Eliminar o animal de estimação
- Confirmar que o animal de estimação foi eliminado
Está bem, vamos começar!

O primeiro pedido HTTP no Postman
O Postman permite agrupar os pedidos da API em coleções. Estas são conjuntos de pedidos HTTP relacionados. Crie uma nova coleção para todos os pedidos seguintes que irá utilizar nos testes:

Está bem, agora tem uma coleção vazia.
Clique no URL «Adicionar um pedido» ou no botão «+» na lista de separadores:

A página da interface do Swagger serve como documentação da API.
O recurso (endpoint) de que precisa para criar um novo animal de estimação é «/pet» e o método HTTP é POST.
No separador do modelo, pode ver o objeto que tem de enviar como corpo do pedido e os tipos de dados de cada valor:

Utilizaremos o formato JSON para enviar o corpo da resposta, por isso ative o botão de opção «bruto» e selecione JSON na lista pendente.
O corpo do pedido deverá ser semelhante a este:
{
"id": 0,
"category": {
"id": 0,
"name": "dog"
},
"name": "Spike",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "bulldog"
}
],
"status": "pending"
}
Pode facilmente adicionar o resto dos detalhes no novo separador do pedido:

Para criar este novo animal de estimação no servidor, clique no botão Enviar.
Se tudo correr bem, receberá uma resposta de sucesso e o corpo da resposta conterá algumas informações sobre o animal de estimação, incluindo o respetivo ID.
Precisaremos de utilizar este valor daqui em diante:

O passo seguinte consiste em atualizar as informações do animal de estimação.
Para isso, tem de aceder ao mesmo recurso, «/pet», mas enviar um pedido com o método HTTP PUT.
Pode ver que informações precisa de enviar no corpo do pedido:

Assim, crie um novo pedido utilizando o mesmo URL do pedido, selecione o método PUT e envie o mesmo corpo do pedido, exceto que deve alterar o valor do estado para ‘available’ e utilizar o ID da resposta anterior:
{
"id": <introduza o ID aqui>,
"category": {
"id": 0,
"name": "dog"
},
"name": "Spike",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "bulldog"
}
],
"status": "available"
}
A resposta deverá ser novamente 200 OK. Em seguida, vamos ler as informações do animal para validar se o estado foi corretamente atualizado.
O método HTTP para isto é GET e o pedido aceita o ID como parâmetro:

A resposta contém todos os dados do animal, incluindo o estado, que agora tem o valor ‘available’:

O pedido de eliminação será feito exatamente para o mesmo URL que o GET (incluindo o parâmetro de ID), mas o método HTTP selecionado será DELETE:

Mais uma vez, o pedido deverá ser bem-sucedido e a resposta HTTP deverá ser 200:

Se reenviar o pedido GET para o mesmo ID do animal, obterá um pedido HTTP 404, porque o animal já não pode ser encontrado no servidor:

Adicionar testes no Postman
Com os passos anteriores, percorreu todos os passos do cenário de teste, mas cada resultado teve de ser validado manualmente, verificando os códigos e os corpos das respostas.
Vejamos como automatizar os testes da API utilizando o Postman, para que não tenha de efetuar estas verificações manualmente.
Comece pelo primeiro pedido, o POST, e clique no separador Testes do pedido.
No lado direito, escolha o fragmento de código ‘Código de estado: o código é 200’. Os fragmentos de código no Postman são scripts predefinidos que pode utilizar, para não ter de escrever manualmente o próprio código. Cada linha de código que introduzimos no separador Testes do pedido será executada depois de o pedido ser enviado.
Pode alterar o nome do teste para algo mais descritivo (por exemplo, ‘A criação do animal foi bem-sucedida’).
Reenvie o pedido e, desta vez, verá que o separador Resultados dos testes da resposta mostra que 1/1 dos testes foi aprovado, bem como o nome do teste aprovado:

Também pode adicionar este fragmento de código aos pedidos PUT e DELETE.
Para validar o valor do estado na resposta do pedido GET, utilize o fragmento de código ‘Corpo da resposta: verificação do valor JSON’:
pm.test("Nome do seu teste", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
Este fragmento de código guarda a resposta numa variável de código jsonData, que irá analisar, ler o valor de um atributo e compará-lo com um valor esperado.
Para nós, isto significa que o atributo ‘status’ deve ter o valor ‘available’. O teste deverá, portanto, ter o seguinte aspeto:
pm.test("O estado do animal é 'available'", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.status).to.eql("available");
});
E, para a verificação final, que confirma que o animal foi eliminado, executando novamente o GET, podemos duplicar o pedido GET inicial e adicionar um teste que valide que, desta vez, o código de resposta HTTP é 404:

Pode mover os pedidos para dentro da coleção através de arrastar e largar.

Utilizar variáveis no Postman
Provavelmente reparou que tivemos de copiar e colar manualmente o ID do pedido POST para todos os pedidos seguintes. E se houvesse uma forma mais simples de fazer isto?
A boa notícia é que existe! Podemos utilizar variáveis do Postman para armazenar valores reutilizáveis. Assim, se os valores precisarem de ser alterados, podemos fazê-lo num único local, tal como procuramos fazer em todos os testes automatizados.
As variáveis do Postman têm 3 âmbitos:
- Global: variáveis que serão acedidas a partir de qualquer ambiente e de qualquer coleção
- Ambiente: variáveis guardadas ao nível do ambiente. Não utilizei ambientes neste tutorial, mas é importante saber que o Postman permite criar ambientes diferentes para os vários ambientes com que trabalhamos. Por exemplo, ambientes separados para Desenvolvimento, UAT e Produção
- Coleção: estas variáveis são armazenadas ao nível da coleção e podem ser acedidas a partir de todos os pedidos dentro da coleção.
Existem várias formas de configurar variáveis de coleção.
A forma mais simples é criá-la diretamente a partir da coleção.
Para isso, clique no nome da coleção, selecione o separador das variáveis e introduza o nome e o valor da variável:

Para utilizar esta variável, substitua o valor original nos pedidos pelo nome da variável escrito entre duas chavetas, desta forma: {{petId}}
Terá de a utilizar dentro dos corpos dos pedidos POST e PUT, para o parâmetro “id”, desta forma:
"id": {{petId}},
E no URL dos pedidos GET e DELETE, desta forma: https://petstore.swagger.io/v2/pet/{{petId}}
Pode consultar a versão final da coleção aqui.
More Articles
Executar a coleção do Postman
E agora chegamos à melhor parte! O objetivo deste tutorial foi mostrar-lhe como executar testes automatizados utilizando o Postman. Tudo o que fizemos anteriormente serviu para preparar esta parte.
Para executar os testes automaticamente, clique com o botão direito do rato no nome da coleção ou passe o cursor sobre ele, clique no menu de três pontos junto ao nome e selecione ‘Executar coleção’.

Isto abrirá o Executor de coleções:

Nesta página, pode selecionar quais dos seus pedidos pretende enviar, alterar a ordem, executar a coleção várias vezes (aumentando o número de Iterações) ou adicionar intervalos entre os pedidos.
Pode deixar os valores predefinidos por agora e clicar no botão ‘Executar’. Quando a execução terminar, poderá ver os resultados dos testes para todos os cenários que queríamos testar, com apenas um simples clique:

E era tudo! Se seguiu todos os passos deste artigo, deverá ter os seus primeiros testes automatizados de API no Postman! 🚀
Conclusão
O Postman é uma ferramenta muito útil para testar APIs, e este artigo abordou apenas os conceitos básicos. No entanto, conseguimos explicar como enviar pedidos HTTP, como ler as respostas, como criar testes e como verificar automaticamente os resultados dos testes.
Se gostou deste artigo, subscreva a newsletter do QA Lead para se manter a par de todas as novidades e tendências nos testes de software.



