Postman, 1. část

PHP, JavaScript, Windows, Linux, Tipy & triky

Pokud nějakým způsobem pracujete s HTTP API, Postman vám může značně zpříjemnit život. Je to multiplatformní aplikace, která zvládá velkou škálu věcí od návrhu, přes testování, až po monitoring HTTP API. V první části se podíváme na interakci s API a mock server.

Postman, 1. část

Postman, 1. část - Úvod, interakce s API, kolekce a mock server
Postman, 2. část - Testy, monitoring a Newman

Původně pouze rozšíření prohlížeče, Postman je nativní aplikace pro Windows, OS X a Linux. Slouží k návrhu a interakci s HTTP API. Ale umožňuje i psaní automatických testů, mock server, monitoring, tvorbu dokumentace a její sdílení napříč týmem. V tomto článku bych chtěl stručně popsat hlavní funkce. Postup použití jednotlivých funkcí je přehledně popsán v návodu a detailní dokumentaci na webu aplikace.

Interakce s API

Postman jsem si oblíbil především kvůli jeho rozhraní pro interakci s HTTP API. Často potřebuji vyzkoušet, jak nějaké API funguje nebo jestli vůbec funguje. K tomu sice stačí konzole a cURL nebo libovolný programovací jazyk, ale Postman umožňuje jednotlivé požadavky ukládat a především organizovat.

Vytvoření a historie požadavku

Při odesílání HTTP požadavku je možné zvolit autorizaci i pomocí metod jako jsou třeba OAuth nebo AWS Signature. Všechny požadavky se navíc ukládají do historie, kde je možné je otevřít, znovu odeslat nebo uložit.

Kolekce

Vytvořené požadavky je možné ukládat a organizovat do kolekcí. Kolekce i jednotlivé požadavky pak lze dokumentovat v Markdownu. Právě teprve kolekce umožňují více využít funkcí Postmana. Například tlačítkem Run se postupně spustí všechny požadavky uložené v kolekci. Taky lze sdílet kolekci mezi uživateli aplikace a nebo ji zobrazit na webu, odkud ji pak můžete publikovat veřejně.

Zvlášť užitečná je možnost nastavit pro celou kolekci stejnou autorizaci (např. stejné BasicAuth jméno/heslo) nebo nastavení proměnných, které pak jde v požadavcích použít přes dvojité složené závorky (např.: {{url}}/cesta/k/api). Proměnné jde navíc řadit pod různá prostředí (např. test, produkce, apod.).

V záložce Activity najdete chronologický výpis změn provedených v kolekci. Placená verze  tu má dvě výhody. Vypisuje diff (podobný jako v Gitu) s možností vrátit se zpátky k libovolné verzi a nebo umožňuje propojit kolekci s repozitářem na Githubu. Tam si potom ukládá a synchronizuje data kolekce.

Kolekce požadavků

Více se o kolekcích dočtete zde.

Mock

I pokud zrovna neděláte na návrhu API, může se mock server hodit. Třeba, když pracujete na aplikaci komunikující s API, které už sice je navržené, ale ještě není dokončené. V takovém případě si můžete v Postmanu specifikovat schéma API a následně spustit mock server na kterém můžete pracovat, dokud není živé API hotové. Postman navíc vygeneruje veřejné URL, takže k němu můžete přistupovat odkudkoliv.

Pokud chcete převést hotovou specifikaci do Postmana, je možné importovat formáty RAML, WADL, Swagger (verze 1 a 2) a Runscope. Dokonce je možné importovat i cURL příkazy, ze kterých Postman vytvoří požadavky.

Vytvoření mock serveru

Mock server je možné vytvořit i soukromý. K tomu je potřeba vygenerovat Postman API klíč, pomocí kterého je pak možné se do mock serveru autorizovat. Při vygenerování vás aplikace povede za ruku a výsledný klíč je nutné přidat do požadavku jako hodnotu hlavičky x-api-key.

Jakmile je mock vytvořený, můžete začít definovat jednotlivá rozhraní. To se dělá v detailu jednotlivých požadavků tlačítkem Add example. V tomto okně jde nadefinovat požadavek i odpověď a relativní cestu rozhraní. Po uložení příkladu bude k dispozici na mock serveru pod definovanou cestou. Příklady zároveň slouží k dodatečné dokumentaci.

Vytvoření příkladu pro mock server

Návod, jak vytvořit mock krok za krokem najdete zde.

Placená a Free verze

Postman nabízí 3 úrovně členství - Free, Pro a Enterprise. Jejich srovnání a ceny si můžete prohlédnout na webu. Osobně zatím nemám zkušenosti s placenou verzí, takže nemůžu úplně porovnat rozdíly mezi Pro a Enterprise.

Limity Free verze se pak týkají hlavně návrhu API, potažmo testů, monitoringu a následně spolupráce v týmu. Většina funkcí, jako testy, monitoring, mock a návrh jsou sice k dispozici, ale počet požadavků je ve Free verzi poměrně omezený (např. 1 000 dotazů/měsíc na mock server). Placená verze pak má další výhody, opět zaměřené více na týmy - kromě zmíněného propojení s Git repozitářem, například i publikování dokumentace pod vlastní veřejnou URL.

Pokud chcete používat Postman hlavně pro interakci s API a v menší míře návrh/testování, myslím, že si bohatě vystačíte s verzí zdarma. Už jen pro tu uživatelsky příjemnou organizaci požadavků. Pro střední a větší týmy budou možná zajímavější alternativy jako ApiaryZabbix a jiné.

Testování a monitoring, co příště?

Příště se podíváme, jak lze pomocí Postmana řešit automatické testy API, jednoduchý monitoring a doplňující aplikaci pro příkazovou řádku Newman.

Poznámka: v příkladech na obrázcích používám JSONPlaceholder testovací REST API a Bacon Ipsum generátor textu :).


Máte zkušenosti s Postmanem nebo používáte pro testování API něco jiného? Dejte nám i ostatním vědět v komentářích!

K tomuto článku již není možné přidávat další komentáře