anúncios

Mostrando postagens com marcador Postman. Mostrar todas as postagens
Mostrando postagens com marcador Postman. Mostrar todas as postagens

segunda-feira, 11 de maio de 2026

Conhecendo as ferramentas para testes de API REST

Testar APIs REST é uma parte essencial do desenvolvimento de software moderno. Felizmente, existem diversas ferramentas que facilitam esse processo, cada uma com suas características únicas. Este artigo apresenta seis das mais populares: curl, Postman, Insomnia, Bruno, HTTPie e Apidog, incluindo instruções de instalação, uso básico e como adicionar autenticação por token em endpoints que exigem autorização.

curl

Instalação

O curl geralmente vem pré-instalado em sistemas Unix-like (Linux, macOS). No Windows, pode ser instalado via:

Uso Básico

Para fazer uma requisição GET simples:

curl https://api.example.com/users

Com Autenticação (Token Bearer)

Para adicionar um token de autenticação no header Authorization:

curl -H "Authorization: Bearer SEU_TOKEN_AQUI" https://api.example.com/protegido

Substitua SEU_TOKEN_AQUI pelo seu token real. Outros métodos (POST, PUT, etc.) seguem o mesmo padrão, apenas alterando o verb (-X POST, -X PUT, etc.).

Postman

Instalação

Baixe o instalador oficial do site postman.com para Windows, macOS ou Linux. Também está disponível como aplicativo Snap (sudo snap install postman) ou via Homebrew (brew install --cask postman no macOS).

Uso Básico

  1. Abra o Postman e clique em "New" → "HTTP Request".
  2. Insira a URL (ex: https://api.example.com/users).
  3. Selecione o método HTTP (GET, POST, etc.) ao lado da URL.
  4. Clique em "Send" para ver a resposta.

Com Autenticação (Token Bearer)

  1. Na aba "Headers" da requisição, clique em "Add".
  2. Em "Key", digite Authorization.
  3. Em "Value", digite Bearer SEU_TOKEN_AQUI.
  4. Clique em "Send".

Alternativamente, use variáveis de ambiente para gerenciar tokens de forma mais segura em múltiplas requisições.

Insomnia

Instalação

Disponível para download no site insomnia.rest. Também pode ser instalado via:

  • Homebrew: brew install --cask insomnia
  • Snap: sudo snap install insomnia
  • Chocolatey (Windows): choco install insomnia

Uso Básico

  1. Abra o Insomnia e clique em "+" → "New Request".
  2. Nomeie a requisição, escolha o método e cole a URL.
  3. Clique em "Send".

Com Autenticação (Token Bearer)

  1. Na requisição aberta, vá para a aba "Headers".
  2. Clique no campo abaixo de "Headers" e selecione "Authorization" no dropdown.
  3. No campo de valor, selecione "Bearer Token" e cole seu token.
  4. Clique em "Send".

O Insomnia também permite salvar tokens em variáveis de ambiente ou em arquivos de configuração para reutilização.

Apidog

Instalação

Apidog está disponível como aplicativo desktop para Windows, macOS e Linux, além de versão web. Pode ser baixado diretamente do site oficial apidog.com. Também oferece versão para deploy privado para equipes que necessitam de solução on-premise.

Uso Básico

  1. Abra o Apidog e clique em "+ New Request" ou use o atalho Ctrl+N.
  2. Insira a URL da API (ex: https://api.example.com/users).
  3. Selecione o método HTTP desejado (GET, POST, PUT, DELETE, etc.) no dropdown ao lado do campo de URL.
  4. Clique no botão "Send" para enviar a requisição e visualizar a resposta.

Com Autenticação (Token Bearer)

  1. Na aba "Headers" da requisição, clique no campo abaixo para adicionar um novo header.
  2. Em "Key", selecione ou digite Authorization.
  3. Em "Value", escolha o tipo "Bearer Token" no dropdown e cole seu token no campo fornecido. Alternativamente, você pode digitar diretamente: Bearer SEU_TOKEN_AQUI.
  4. Clique em "Send" para executar a requisição com autenticação.

O Apidog também permite salvar tokens em variáveis de ambiente ou usar seu sistema de gerenciamento de credenciais integrado para maior segurança e reutilização entre diferentes requisições e ambientes.

Bruno

Instalação

O Bruno é uma ferramenta que pode usar pelo terminal e desktop, com o diferencial em versionamento de requisições via Git. Instale-o via:

Uso Básico

  1. Inicie uma coleção: bruno init minha-colecao
  2. Crie uma nova requisição: bruno request get usuarios (isso cria um arquivo .bru)
  3. Edite o arquivo gerado (ex: minha-colecao/usuarios.get.bru) para definir URL, método, etc.
  4. Execute: bruno run minha-colecao/usuarios.get.bru

Com Autenticação (Token Bearer)

No arquivo .bru, adicione o header de autorização diretamente:

GET https://api.example.com/protegido
Authorization: Bearer SEU_TOKEN_AQUI

Execute como de costume com bruno run. O Bruno é ideal para equipes que preferem armazenar requisições como código-fonte versionado.

HTTPie

Instalação

Instale via:

  • pip: pip install httpie
  • Homebrew: brew install httpie
  • apt (Ubuntu/Debian): sudo apt install httpie
  • Ou veja mais opções em httpie.io/docs#installation

Uso Básico

Para uma requisição GET simples:

http GET https://api.example.com/users

Com Autenticação (Token Bearer)

Adicione o header Authorization diretamente:

http GET https://api.example.com/protegido Authorization:"Bearer SEU_TOKEN_AQUI"

Ou, usando a sintaxe curta para headers:

http GET https://api.example.com/protegido 'Authorization:Bearer SEU_TOKEN_AQUI'

O HTTPie também suporta autenticação via --auth-type e --auth, mas para Bearer Token, definir o header diretamente é o método mais direto.

Considerações Finais

Todas as ferramentas apresentadas cumprem o mesmo propósito fundamental: testar e interagir com APIs REST de forma eficaz. A escolha entre elas depende fortemente de preferências pessoais, contexto de uso e fluxo de trabalho da equipe.

  • curl e HTTPie são excelentes para usuários que preferem trabalhar no terminal, especialmente útil para scripts de automação ou ambientes sem interface gráfica.
  • Postman, Insomnia, Bruno, Apidog, HTTPie oferecem interfaces gráficas intuitivas, recursos avançados como coleções, variáveis de ambiente, geração de código e testes integrados, sendo ideais para exploratory testing e documentação colaborativa.
  • Bruno se destaca por sua abordagem baseada em arquivos, permitindo versionar requisições diretamente no Git, o que é atraente para equipes que adotam práticas de DevOps e Infrastructure as Code.

Não há uma "ferramenta ideal" universal; a melhor escolha é aquela que se alinha melhor com seus hábitos, necessidades específicas e ambiente de trabalho. Experimente algumas delas e adotar aquela que tornar seu processo de teste de API mais eficiente e agradável. Lembre-se: o objetivo é validar suas APIs com confiança, independentemente da ferramenta utilizada.

Boa testagem!

Referências

curl man page

Postman docs

Insomnia

ApiDog

HTTPie Docs

Feito!

terça-feira, 13 de janeiro de 2026

Variáveis dinâmicas no Postman

Quando começamos a automatizar testes de API, uma dor comum aparece rapidamente:

Como manter os testes realistas, sem precisar ficar inventando manualmente nomes, e-mails ou identificadores únicos toda vez?

Foi exatamente para isso que o Postman introduziu as Dynamic Variables, variáveis internas que geram dados aleatórios automaticamente no momento da execução.

Com a minha experiência de Analista Desenvolvedor de Sistemas e Aplicativos, posso dizer: isso economiza tempo, reduz duplicidade e evita falsos positivos causados por dados repetidos.

Vamos explorar, com exemplos práticos.

O que são variáveis dinâmicas?

São placeholders especiais, no formato:

{{$nomeDaVariavel}}

Quando a requisição executa, o Postman substitui automaticamente pelo valor gerado.

Você pode usá-las em:

  • Body (JSON, XML, form-data)
  • URL/Query string
  • Headers
  • Scripts (Pre-request e Tests)

E não precisa criar variáveis de ambiente, elas funcionam "out of the box".

Tabela 1: Principais variáveis dinâmicas (com exemplos)

Aqui estão algumas das mais utilizadas na prática.

Variável Descrição Exemplo de valor gerado
{{$guid}} Gera um identificador único no formato UUID (v4). 7f4e5e5e-b5d1-44cd-9f7f-9f4af45c2c32
{{$timestamp}} Retorna o timestamp atual no formato Unix (segundos). 1736083201
{{$randomInt}} Gera um número inteiro aleatório entre 0 e 1000. 487
{{$randomUUID}} Gera um UUID aleatório. 9c5c5791-6b3a-4c5d-8c39-5dd1d9fae291
{{$randomFirstName}} Gera um nome próprio aleatório. Mariana
{{$randomLastName}} Gera um sobrenome aleatório. Souza
{{$randomFullName}} Gera um nome completo aleatório. Mariana Souza
{{$randomEmail}} Gera um endereço de e-mail válido e aleatório. mariana.souza@example.com
{{$randomUserName}} Gera um nome de usuário aleatório. msouza92
{{$randomPassword}} Gera uma senha aleatória. D3f@ult!92
{{$randomPhoneNumber}} Gera um número de telefone fictício. +1 202 555 0189
{{$randomCity}} Gera o nome de uma cidade aleatória. Curitiba
{{$randomCountry}} Gera o nome de um país aleatório. Brazil
{{$randomZipCode}} Gera um código postal (CEP/ZIP) aleatório. 01001-000
{{$randomStreetAddress}} Gera um endereço completo aleatório. Av. Central, 120
{{$randomCompanyName}} Gera um nome de empresa aleatório. SoftBridge Ltd.
{{$randomUrl}} Gera uma URL aleatória válida. https://example.org
{{$randomIP}} Gera um endereço IPv4 aleatório. 192.0.2.45

Essas variáveis são suficientes para simular a maioria dos cenários de CRUD.

Exemplo prático: criando um usuário com dados aleatórios

Body JSON:


{
  "firstName": "{{$randomFirstName}}",
  "lastName": "{{$randomLastName}}",
  "email": "{{$randomEmail}}",
  "username": "{{$randomUserName}}",
  "password": "{{$randomPassword}}",
  "id": "{{$guid}}",
  "createdAt": "{{$timestamp}}"
}

Toda execução cria um usuário diferente, evitando conflitos como:

  • "email já cadastrado"
  • "id duplicado"
  • "username já existe"

Reutilizando valores gerados entre requisições

Às vezes, você precisa:

  • cadastrar um usuário
  • logar com ele
  • buscar detalhes
  • excluir

Para isso, "capture" os dados no Pre-request ou Tests:

pm.environment.set("email", pm.variables.replaceIn("{{$randomEmail}}"));

pm.environment.set("userId", pm.variables.replaceIn("{{$guid}}"));

Depois, use normalmente:

{{email}}

{{userId}}

Essa combinação torna os testes reprodutíveis e automatizáveis.

Boas práticas de quem usa em produção

Não dependa de dados fixos

Sempre que o endpoint permitir, prefira dados gerados.

Guarde apenas o necessário

Evite poluir o ambiente com dezenas de variáveis.

Simule casos reais

Misture números, datas e strings para validar regras de negócio.

Documente na coleção

Outros devs vão agradecer quando precisarem interpretar seus testes.

Quando NÃO usar variáveis dinâmicas

Testes que exigem dados determinísticos (comparação exata de respostas).

Cenários de regressão, onde o valor precisa ser sempre igual.

Validações financeiras, fiscais ou com regras rígidas.

Use com critério.

Considerações finais

Variáveis dinâmicas transformam o Postman em algo além de um simples cliente HTTP:

Elas ajudam a criar testes mais robustos, confiáveis e próximos do mundo real, sem scripts complexos.

Se você ainda está copiando e colando valores manualmente, experimente substituí-los pelas variáveis dinâmicas apresentadas na Tabela 1: Principais variáveis dinâmicas, aplicando-as conforme o exemplo prático demonstrado neste artigo.

O ganho de produtividade aparece imediatamente.

Feito!

sábado, 17 de abril de 2021

Conhecendo o Postman

O que é Postman?

É uma ferramenta de suporte à documentação das requisições feitas pela API REST com os principais métodos HTTP seguintes:

  • GET: Utilizado para obter um recurso
  • POST: Utilizado para cadastrar uma informação
  • PUT: Utilizado para alterar um recurso
  • DELETE: Utilizado para deletar um recurso

Instalando o Postman

Faça o Download do Postman , conforme o SO e arquitetura.

No Windows, basta executar o arquivo executável e seguir os padrões de costume de Windows.

No Linux, extrair o arquivo Postman-linux64-tar.gz, conforme segue:

Extrair o arquivo Postman

$ tar -xzvf Postman-linux64-tar.gz

Acessar o diretório

$ cd Postman

Executar o binário

$ ./Postman

PS: Pode criar um atalho para abrir o Postman no gerenciador gráfico que estiver utilizando na distro também.

Tendo instalado o Postman no computador, a URL da API e os endpoints, pode já começar a utilizar a fazer as requisições.

Por convenção de boas práticas, utiliza versionamento na API REST, assim a URL ficaria algo assim https://api.dominio.com/v1/ seguido pelo nome do endpoint.

Geralmente a API REST tem algum método de autenticação, seja, Basic Auth (autenticação básica), API Key, Bearer Token (JWT), entre outros listados, conforme pode verificar no Postman na aba Authorization em Type.

Após selecionar o método de autenticação utilizado pela API REST, informe o campo correspondente, conforme o método selecionado.

Se selecionar Basic Auth, irá aparecer dois campos Username e Password.

Se selecionar Bearer Token, irá aparecer o campo Token, que corresponde ao JWT.

Assim sucessivamente para outros métodos de autenticação disponíveis.

O próximo é selecionar o método HTTP e a URL da API com o endpoint

Exemplo de requisição GET

URL fictícia: https://api.dominio.com

Endpoint: /produtos

Método HTTP: GET

Se quiser consultar todos os registros de produtos da API do exemplo. Nesse caso, selecione GET, coloque a URL da API com o endpoint produtos e clique no botão "Send", irá obter o resultado. geralmente um JSON como resposta com a listagem de produtos da API.

Caso deseja obter apenas um registro específico, então após o endpoint, adicione o id que é o identificador único.

URL fictícia: https://api.dominio.com

Endpoint: /produtos

identificador único que deseja buscar: 8

Método HTTP: GET

No Postman, a URL ficaria assim https://api.dominio.com/produtos/8

Exemplo de requisição POST

Para facilitar o processo, evitando ter que colocar o método de autenticação da API novamente na próxima requisição, nesse caso POST, passa sobre o mouse no nome da requisição em 3 pontinhos, vai em Duplicate, assim será duplicado, bastando apenas alterar o método HTTP, nesse caso de GET para POST e apagar o identificador único, colocando a URL real e o endpoint da API.

URL fictícia: https://api.dominio.com

Endpoint: /produtos

Método HTTP: POST

Na aba Body, selecione form-data, preenche os campos Key (nome do campo), Value (o conteúdo correspondente ao campo).

Faz isso para cada campo, após concluir, clique no botão "Send", que irá obter um retorno em JSON, algo como "Cadastrado com sucesso" e com status 200 ou 201.

Exemplo de requisição PUT

Repita o procedimento explicado anteriormente para duplicar o requição anterior, assim altere o método HTTP de POST para PUT.

URL fictícia: https://api.dominio.com

Endpoint: /produtos

Método HTTP: PUT

Na aba Body, selecione form-data, preenche os campos Key (nome do campo), Value (o conteúdo correspondente ao campo).

O método PUT é semelhante ao POST, com a diferença que é para atualizar o registro no endpoint, então precisa informar o identificador único para que seja atualizado apenas no id específico.

Informe na URL com o endpoint da API no final o identificador único. A URL ficaria assim https://api.dominio.com/produtos/8. Nesse caso o identificador seria o 8, mas pode ser o que quiser, você escolhe.

Faz isso para cada campo, após concluir, clique no botão "Send", que irá obter um retorno em JSON, algo como "Cadastrado com sucesso" e com status 200 ou 201.

Exemplo de requisição DELETE

Repita o procedimento explicado anteriormente para duplicar o requição anterior, assim altere o método HTTP de PUT para DELETE.

URL fictícia: https://api.dominio.com

Endpoint: /produtos

Método HTTP: DELETE

O método DELETE, como o próprio nome já diz, serve para excluir registro no endpoint da API, então precisa informar o identificador único para que seja excluído apenas no id específico. Informe na URL com o endpoint da API no final o identificador único. A URL ficaria assim https://api.dominio.com/produtos/8. Nesse caso o identificador seria o 8, mas pode ser o que quiser, você escolhe.

Apague o que estiver na aba Body os campos com os valores e clique no botão "Send", irá obter um retorno JSON, que foi excluído com sucesso ou falha, isso se quem o desenvolveu a API adicionou um retorno, geralmente tem, mas em todo caso, tem o status 200.

Considerações finais

Nesse post foi apresentado a descrição breve, instalação e modo de utilizar o Postman para utilizar na requisição de API REST de terceiros ou na sua própria que desenvolveu. Para saber mais sobre o status HTTP .

Feito!