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ší.