Sobes.tech
Junior

Pověz o Postmanu a jeho možnostech v testování API.

sobes.tech AI

Odpověď od AI

Postman je desktopová aplikace a webová platforma pro vývoj a testování API. Umožňuje odesílat HTTP požadavky, prohlížet odpovědi, vytvářet kolekce požadavků, automatizovat testování, dokumentovat API a spolupracovat na projektech.

Hlavní funkce Postmanu pro testování API:

  • Vytváření a odesílání požadavků: Podporuje všechny hlavní HTTP metody (GET, POST, PUT, DELETE, PATCH). Umožňuje nastavovat parametry požadavku, hlavičky, tělo požadavku (formuláře, JSON, XML atd.).
  • Prohlížení a analýza odpovědí: Zobrazuje status kód, hlavičky a tělo odpovědi. Umožňuje formátovat a hledat data v odpovědi.
  • Práce se sbírkami: Organizace požadavků do složek a kategorií. Pohodlné pro seskupování souvisejících testů.
  • Proměnné a prostředí: Ukládání a používání proměnných (URL, tokeny atd.) v požadavcích. Rychlé přepínání mezi různými testovacími prostředími (dev, staging, produkce).
  • Pre-request a Test skripty:
    • Pre-request skripty: Spouštějí se před odesláním požadavku. Mohou být použity k přípravě dat, generování tokenů atd. Psáno v JavaScriptu.
    • Testy: Spouštějí se po obdržení odpovědi. Umožňují kontrolovat status kód, hlavičky, tělo odpovědi, dobu odezvy a další parametry. Psáno v JavaScriptu s využitím frameworku Chai.js.
  • Automatizace testování s Collection Runner: Umožňuje spouštět celou kolekci nebo vybrané požadavky automaticky. Lze nastavit pořadí, iterace, zpoždění. Výsledky běhu jsou zobrazeny v reportu.
  • Integrace s CI/CD systémy: Možnost spouštět testy Postman z příkazového řádku pomocí Newman (CLI runner pro Postman) a integrace s Jenkins, GitLab CI, GitHub Actions a dalšími.
  • Dokumentace API: Automatické vytváření dokumentace na základě požadavků v kolekci. Pohodlné pro sdílení s ostatními týmy nebo klienty.
  • Spolupráce: Možnost sdílet kolekce, proměnné a prostředí s ostatními členy týmu.

Příklad skriptu pro kontrolu stavu odpovědi a přítomnosti pole v těle odpovědi:

// Kontrola stavu odpovědi
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

// Kontrola přítomnosti pole "success" v těle odpovědi (očekává se boolean)
pm.test("Response body has 'success' property", function () {
    const responseJson = pm.response.json();
    pm.expect(responseJson).to.have.property('success');
    pm.expect(responseJson.success).to.be.a('boolean'); // Volitelná kontrola typu
});

Příklad použití proměnných prostředí:

// Použití proměnné {{baseUrl}} v URL požadavku
// Získání tokenu a uložení do proměnné prostředí v Pre-request Script
pm.environment.set("authToken", responseData.token);

// Použití proměnné {{authToken}} v hlavičce požadavku Authorization

Postman výrazně usnadňuje testování API, činí ho efektivnější a pohodlnější.