Gå til indhold

Test et REST-API på 5 minutter

Målet: at gå fra en OpenAPI-specifikation til en automatiseret test, der kontrollerer et helt forløb.

1. Importér specifikationen (30 sekunder)

Section titled “1. Importér specifikationen (30 sekunder)”

Fil ▸ Importér (Ctrl+I), og derefter URL’en til din openapi.json.

Restorm bygger hele træstrukturen: én mappe pr. tag, én anmodning pr. operation, typede parametre, dokumentationen og de godkendelsesheadere, der på forhånd er koblet til deres variabler.

Træstrukturen, som OpenAPI-importen producerer, klar til brug: én mappe pr. tag (pet, store, user) og én forudfyldt anmodning pr. operation, ved siden af miljømappens startunderfane

Har dit API ingen specifikation, så indsæt en curl-kommando — se Importér cURL-kommandoer.

Åbn den miljømappe, importen har oprettet. Basis-URL’en er der allerede; udfyld den godkendelsesvariabel, importen har forberedt til dig.

Opret et miljø nummer to, hvis du tester flere mål — vælgeren i smartbaren skifter hele mappen på én gang.

Åbn en anmodning, og klik på Send. Svaret vises: status, tid, headere og bodyen i en sammenklappelig fremviser.

Har du glemt noget, fortæller den opløste værdi under URL-feltet dig det.

Højreklik ▸ Tilføj ▸ Scenarie. Forløbet »opret, læs, slet«:

HTTP-anmodning »POST /clients«
└─response──► Assert (eq, 201)
└─► Sæt variabel »clientId« ◄── selektor body.id
HTTP-anmodning »GET /clients/{id}«
└─response──► Assert (eq, 200)
└─► Schema validate (kundens JSON Schema)
HTTP-anmodning »DELETE /clients/{id}«
└─response──► Assert (eq, 204)

Alle tre anmodninger bruger {{clientId}} i deres URL: den kørselsvariabel, der sættes i første trin, læses af de følgende.

Kæd dem sammen ved at koble hver assertions done-port til den næste anmodnings in-port — det er dét, der sikrer rækkefølgen.

Klik på Afspil. Loggen fyldes op; tilføj en Log-handling efter hvert trin for at spore det, der betyder noget.

Kobl en Throw-handling på else-udgangen fra dine kritiske assertioner: det er dét, der får CI-jobbet til at fejle.

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

Exitkode 0, hvis alt går igennem, ellers 1. Se Headless-kørsel og CI for eksemplerne med GitHub Actions og GitLab CI.