Přeskočit na obsah

Jak otestovat REST API za 5 minut

Cíl: začít u specifikace OpenAPI a dojít k automatizovanému testu, který ověří kompletní průchod.

Soubor ▸ Importovat (Ctrl+I) a poté URL vašeho openapi.json.

Restorm sestaví celý strom: jednu složku na každý štítek, jeden požadavek na každou operaci, typované parametry, dokumentaci a předem zapojené ověřovací hlavičky i s jejich proměnnými.

Strom vytvořený importem OpenAPI, připravený k použití: jedna složka na každý štítek (pet, store, user) a jeden předvyplněný požadavek na každou operaci, vedle úvodní podkarty složky proměnných

Pokud vaše API specifikaci nemá, vložte příkaz curl — viz Import příkazů cURL.

Otevřete složku proměnných, kterou import vytvořil. Základní URL už tam je; doplňte ověřovací proměnnou, kterou pro vás import připravil.

Pokud testujete více cílů, vytvořte druhé prostředí — přepínač ve smartbaru přepne celou složku najednou.

Otevřete požadavek a klikněte na Send. Zobrazí se odpověď: stav, čas, hlavičky, tělo v rozbalovacím prohlížeči.

Pokud jste na něco zapomněli, řekne vám to vyhodnocená hodnota zobrazená pod polem URL.

Pravé tlačítko ▸ Přidat ▸ Scénář. Průchod „vytvořit, znovu načíst, smazat“:

Požadavek HTTP „POST /clients“
└─response──► Assert (eq, 201)
└─► Nastavit proměnnou „clientId“ ◄── selektor body.id
Požadavek HTTP „GET /clients/{id}“
└─response──► Assert (eq, 200)
└─► Validace schématu (JSON Schema klienta)
Požadavek HTTP „DELETE /clients/{id}“
└─response──► Assert (eq, 204)

Všechny tři požadavky používají ve své URL {{clientId}}: proměnnou běhu vloženou v prvním kroku čtou ty následující.

Zřetězte je tak, že port done každé asserce zapojíte na port in následujícího požadavku — právě to zaručí pořadí.

Klikněte na Spustit. Záznam se začne plnit; za každý krok přidejte akci Log, abyste sledovali to, na čem záleží.

Na výstup else svých kritických assercí zapojte akci Throw: právě to nechá úlohu v CI selhat.

Terminal window
RESTORM_TOKEN=rstk_… restorm \
--open ./api.restorm \
--run "Parcours client" \
--headless \
--out run.log

Návratový kód 0, pokud vše projde, jinak 1. Příklady pro GitHub Actions a GitLab CI najdete v kapitole Běh v režimu headless a CI.