Skip to content

Capítulo 1.5: Teste de API com Postman

Tempo de estudo: 50 minutos


1. Por que testar APIs? Verificação Pré-lançamento

Imagine: antes de lançar um foguete, os engenheiros realizam testes de ativação dos sistemas. Pule a verificação — e a missão pode falhar!

Teste de API — seus testes de controle:

  • ✅ Verificar a operacionalidade dos "nós de acoplamento"

  • 🛡️ Detectar vulnerabilidades antes do uso em combate

  • 📊 Garantir que os dados sejam transmitidos sem distorções

💡 Analogia espacial: Postman — como um console de teste do Centro de Controle de Missões (CCM) para simular todos os cenários: "E se solicitarmos dados de um planeta inexistente? O servidor aguentará 1000 requisições/seg?"


2. Postman: "Centro de Controle de Voos" para API

Funcionalidades:

  • 📡 Envio de quaisquer requisições HTTP (GET, POST, PUT, DELETE)

  • 🔍 Análise de respostas (códigos de status, cabeçalhos, corpo JSON)

  • 🧪 Escrita de testes automáticos (JavaScript)

  • 🌐 Trabalho com variáveis de ambiente (teste vs produção)

👉 Baixar Postman


3. Primeira execução: Testando a API de planetas

Passo 1: Criar uma requisição

  1. Abrir Postman → New → Request

  2. Inserir URL: https://api.spacexdata.com/v4/rockets

  3. Selecionar método: GET

Passo 2: Enviar o "sinal"

[CCM] -- GET /planetas --> [Servidor SpaceX]

Passo 3: Analisar a telemetria: - Status: 200 OK - Corpo da resposta (JSON): lista de foguetes com parâmetros

[
  {
    "name": "Falcon 1",
    "type": "rocket",
    "active": false,
    "stages": 2,
    "id": "5e9d0d95eda69955f709d1eb"
  },
  {
    "name": "Falcon 9",
    "type": "rocket",
    "active": true,
    "id": "5e9d0d95eda69973a809d1ec"
  }
]


4. Diagrama: Componentes do Postman

[Espaço de trabalho]
├── Aba "Params" (Parâmetros de consulta)
├── Aba "Headers" (Cabeçalhos)
├── Aba "Body" (Corpo da requisição para POST/PUT)
├── Aba "Tests" (Scripts para verificações)
└── Painel de resposta (Status, Time, Size, Body)

5. Criar um cenário complexo: Lançamento de missão

Teste: Adicionar um novo planeta ao catálogo

  1. Método: POST

  2. URL: https://jsonplaceholder.typicode.com/posts (exemplo)

  3. Em Headers:

     { "Content-Type": "application/json" }
    

  4. Em Body (raw → JSON):
    {
     "title": "New Exoplanet Found",
     "body": "Proxima Centauri b shows signs of a stable atmosphere.",
     "userId": 1
     }
    

Verificação automática em Tests:

// Verificação de status
pm.test("Post created successfully", () => {
    pm.response.to.have.status(201);
});

// Verificação da estrutura e dados da resposta
pm.test("Response contains the new post data", () => {
    const response = pm.response.json();
    pm.expect(response).to.have.property("id"); // Verifica se o servidor atribuiu um ID
    pm.expect(response.title).to.eql("New Exoplanet Found");
});


6. Variáveis de ambiente: Terra vs Marte

Como testar em diferentes servidores (teste/produção)?

  1. Crie ambientes:
  2. Localhttp://localhost:3000
  3. Productionhttps://api.nasa.gov

  4. Nas requisições, use variáveis:

    {{base_url}}/planetas  # Irá substituir pela URL atual
    

⚠️ Importante! Nunca teste DELETE em um servidor de produção!


7. Coleções: Biblioteca de missões espaciais

Agrupe as requisições:

    📂 Coleção "NASA"
    ├── GET Planetas
    ├── POST Novo planeta
    └── DELETE Planeta (modo de teste)
Vantagens:

  • 🚀 Execução de todos os testes com um único botão
  • 📤 Exportação/importação de configurações
  • 👨‍🚀 Colaboração em equipe

8. Automação: Verificações regulares de satélites

Configure o monitoramento de API através do Postman:

  1. Schedule → A cada 2 horas

  2. Testes:

    pm.test("Satélite online", () => {
      pm.response.to.have.status(200);
      pm.expect(pm.response.json().signal).above(50); // Sinal >50%
    });
    

  3. Notificações no Slack/e-mail em caso de falha


Questionário para fixação

1. Postman é usado para:

2. Qual status esperar ao criar um objeto com sucesso?

3. Onde escrever testes automáticos no Postman?

4. Variáveis de ambiente são necessárias para:

5. O que as monitorias regulares verificam?


🚀 Resumo do capítulo: Postman — seu "console de controle" universal para testar APIs. Com ele você irá: - Verificar o funcionamento dos "sistemas de bordo" antes do lançamento - Criar uma biblioteca de cenários de teste - Automatizar o monitoramento de serviços espaciais

📌 Tarefa prática:

  1. Instale o Postman
  2. Crie uma requisição para a API da SpaceX: GET https://api.spacexdata.com/v4/launches/latest
  3. Escreva um teste que verifique que:
  4. O status da resposta é 200
  5. O campo name contém a palavra "Falcon"
  6. O tempo de resposta é < 500 ms

Parabéns pela conclusão do Capítulo 1!

Você dominou os fundamentos do trabalho com APIs. Nos próximos capítulos, construiremos nossa própria "nave espacial" — uma aplicação web que usa APIs espaciais!

🌌 Recursos adicionais: