Gå til innholdet

Teste et REST-API på 5 minutter

Målet: starte fra en OpenAPI-spesifikasjon og ende opp med en automatisert test som verifiserer et komplett løp.

1. Importere spesifikasjonen (30 sekunder)

Section titled “1. Importere spesifikasjonen (30 sekunder)”

Fil ▸ Importer (Ctrl+I), deretter URL-en til openapi.json din.

Restorm bygger hele treet: én mappe per etikett, én forespørsel per operasjon, typede parametere, dokumentasjonen, og autentiseringsheaderne ferdigkoblet med variablene sine.

Treet som OpenAPI-importen gir, klart til bruk: én mappe per etikett (pet, store, user) og én forhåndsutfylt forespørsel per operasjon, ved siden av startunderfanen til miljømappen

Hvis API-et ditt ikke har en spesifikasjon, kan du lime inn en curl-kommando — se Importere cURL-kommandoer.

Åpne miljømappen som importen opprettet. Basis-URL-en ligger der allerede; fyll ut autentiseringsvariabelen som importen har forberedt for deg.

Opprett et annet miljø hvis du tester flere mål — velgeren i smartbaren bytter hele mappen på én gang.

Åpne en forespørsel og klikk på Send. Svaret vises: status, tid, headere og kroppen i en sammenleggbar visning.

Hvis du har glemt noe, forteller den løste verdien under URL-feltet deg det.

Høyreklikk ▸ Legg til ▸ Scenario. Løpet «opprette, lese tilbake, slette»:

HTTP-forespørsel «POST /clients»
└─response──► Assert (eq, 201)
└─► Sett variabel «clientId» ◄── selektor body.id
HTTP-forespørsel «GET /clients/{id}»
└─response──► Assert (eq, 200)
└─► Schema validate (JSON Schema-et til kunden)
HTTP-forespørsel «DELETE /clients/{id}»
└─response──► Assert (eq, 204)

Alle de tre forespørslene bruker {{clientId}} i URL-en sin: kjøringsvariabelen som settes i det første trinnet, leses av de neste.

Du lenker dem sammen ved å koble done-porten på hver assertion til in-porten på den neste forespørselen — det er dette som sikrer rekkefølgen.

Klikk på Kjør. Loggen fylles opp; legg til en Log-handling etter hvert trinn for å spore det som betyr noe.

Koble en Throw-handling til else-utgangen på de kritiske assertionene dine: det er dette som vil få CI-jobben til å feile.

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

Exitkode 0 hvis alt går gjennom, 1 ellers. Se Headless kjøring og CI for eksemplene med GitHub Actions og GitLab CI.