Sari la conținut

Testarea unui API REST în 5 minute

Obiectiv: să porniți de la o specificație OpenAPI și să ajungeți la un test automatizat care verifică un parcurs complet.

1. Importarea specificației (30 de secunde)

Section titled “1. Importarea specificației (30 de secunde)”

Fișier ▸ Importă (Ctrl+I), apoi URL-ul fișierului openapi.json.

Restorm construiește arborele complet: un folder pentru fiecare etichetă, o cerere pentru fiecare operație, parametrii tipizați, documentația și antetele de autentificare precablate, cu variabilele lor.

Arborele produs de importul OpenAPI, gata de folosit: un folder pentru fiecare etichetă (pet, store, user) și o cerere precompletată pentru fiecare operație, alături de subfila de întâmpinare a folderului de variabile

Dacă API-ul dumneavoastră nu are o specificație, lipiți o comandă curl — vedeți Importarea comenzilor cURL.

Deschideți folderul de variabile creat de import. URL-ul de bază este deja acolo; completați variabila de autentificare pe care importul a pregătit-o pentru dumneavoastră.

Creați un al doilea mediu dacă testați mai multe ținte — selectorul din smartbar comută tot folderul dintr-o dată.

3. Trimiterea unui prim apel (30 de secunde)

Section titled “3. Trimiterea unui prim apel (30 de secunde)”

Deschideți o cerere, faceți clic pe Send. Răspunsul se afișează: stare, timp, antete, corp într-un vizualizator pliabil.

Dacă ați uitat ceva, valoarea rezolvată afișată sub câmpul URL vă spune.

Clic dreapta ▸ Adaugă ▸ Scenariu. Parcursul „creează, recitește, șterge”:

Cerere HTTP „POST /clients”
└─response──► Assert (eq, 201)
└─► Definește variabilă „clientId” ◄── selector body.id
Cerere HTTP „GET /clients/{id}”
└─response──► Assert (eq, 200)
└─► Validare schemă (JSON Schema al clientului)
Cerere HTTP „DELETE /clients/{id}”
└─response──► Assert (eq, 204)

Cele trei cereri folosesc {{clientId}} în URL-ul lor: variabila de rulare pusă la primul pas este citită de următoarele.

Înlănțuiți-le cablând portul done al fiecărei aserțiuni la portul in al cererii următoare — asta garantează ordinea.

Faceți clic pe Redare. Jurnalul se umple; adăugați o acțiune Log după fiecare pas, pentru a urmări ce contează.

Conectați o acțiune Throw la ieșirea else a aserțiunilor dumneavoastră critice: asta va face să eșueze jobul de CI.

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

Cod de ieșire 0 dacă totul trece, 1 altfel. Vedeți Rulare headless și CI pentru exemplele GitHub Actions și GitLab CI.