Tovább a tartalomhoz

REST API tesztelése 5 perc alatt

A cél: egy OpenAPI-specifikációból eljutni egy automatizált tesztig, amely egy teljes folyamatot végigellenőriz.

1. A specifikáció importálása (30 másodperc)

Section titled “1. A specifikáció importálása (30 másodperc)”

Fájl ▸ Importálás (Ctrl+I), majd az openapi.json URL-je.

A Restorm felépíti a teljes fát: címkénként egy mappa, műveletenként egy kérés, típusos paraméterek, a dokumentáció, és a hitelesítési fejlécek is előre be vannak kötve a hozzájuk tartozó változókkal.

Az OpenAPI-importálásból származó, azonnal használható fa: címkénként egy mappa (pet, store, user) és műveletenként egy előre kitöltött kérés, a változómappa kezdőlapjának allapja mellett

Ha az API-hoz nincs specifikáció, egy curl parancs beillesztése is elég — lásd: cURL-parancsok importálása.

Nyissa meg az importálás által létrehozott változómappát. Az alap-URL már benne van; már csak az importálás által előkészített hitelesítési változót kell kitölteni.

Több célpont teszteléséhez érdemes egy második környezetet létrehozni — a smartbar választója egyetlen művelettel az egész mappát átváltja.

3. Az első hívás elküldése (30 másodperc)

Section titled “3. Az első hívás elküldése (30 másodperc)”

Nyisson meg egy kérést, majd kattintson a Send gombra. Megjelenik a válasz: állapot, idő, fejlécek, a törzs pedig egy összecsukható megjelenítőben.

Ha valami kimaradt, az URL mező alatt megjelenő feloldott érték elárulja.

4. A forgatókönyv felépítése (2 perc)

Section titled “4. A forgatókönyv felépítése (2 perc)”

Jobb kattintás ▸ Hozzáadás ▸ Forgatókönyv. A „létrehozás, visszaolvasás, törlés” folyamat:

HTTP-kérés „POST /clients”
└─response──► Assert (eq, 201)
└─► Változó beállítása „clientId” ◄── body.id választó
HTTP-kérés „GET /clients/{id}”
└─response──► Assert (eq, 200)
└─► Schema validate (a kliens JSON Schema-ja)
HTTP-kérés „DELETE /clients/{id}”
└─response──► Assert (eq, 204)

Mindhárom kérés a {{clientId}} értéket használja az URL-jében: az első lépésben elhelyezett futásváltozót a következők olvassák.

Az egymás utáni sorrendet az biztosítja, ha minden állítás done portja a következő kérés in portjára kerül bekötésre.

Kattintson a futtatás gombra. A napló feltöltődik; minden lépés után érdemes egy Log műveletet elhelyezni, hogy a fontos dolgok nyomot hagyjanak.

A kritikus állítások else kimenetére érdemes egy Throw műveletet kötni: ez fogja elbuktatni a CI-feladatot.

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

A kilépési kód 0, ha minden rendben, egyébként 1. A GitHub Actions és GitLab CI példákhoz lásd: Headless futtatás és CI.