Hoppa till innehåll

Testa ett REST-API på 5 minuter

Mål: utgå från en OpenAPI-specifikation och komma fram till ett automatiserat test som kontrollerar ett helt flöde.

1. Importera specifikationen (30 sekunder)

Section titled “1. Importera specifikationen (30 sekunder)”

Arkiv ▸ Importera (Ctrl+I), och sedan URL:en till din openapi.json.

Restorm bygger hela trädet: en mapp per etikett, en begäran per operation, de typade parametrarna, dokumentationen, och de färdigkopplade autentiseringsheadern med sina variabler.

Trädet som OpenAPI-importen producerar, klart att använda: en mapp per etikett (pet, store, user) och en förifylld begäran per operation, bredvid variabelmappens startunderflik

Om ditt API saknar specifikation klistrar du in ett curl-kommando — se Importera cURL-kommandon.

Öppna variabelmappen som importen skapade. Bas-URL:en finns redan där; fyll i den autentiseringsvariabel som importen har förberett åt dig.

Skapa en andra miljö om du testar flera mål — väljaren i smartbaren växlar hela mappen på en gång.

Öppna en begäran och klicka på Send. Svaret visas: status, tid, headers, kropp i en ihopfällbar visare.

Om du har glömt något säger det upplösta värdet under URL-fältet det.

Högerklicka ▸ Lägg till ▸ Scenario. Flödet ”skapa, läsa, ta bort”:

HTTP-begäran ”POST /clients”
└─response──► Assert (eq, 201)
└─► Ange variabel ”clientId” ◄── väljaren body.id
HTTP-begäran ”GET /clients/{id}”
└─response──► Assert (eq, 200)
└─► Schema validate (kundens JSON Schema)
HTTP-begäran ”DELETE /clients/{id}”
└─response──► Assert (eq, 204)

De tre begärandena använder {{clientId}} i sin URL: körningsvariabeln som sätts i första steget läses av de följande.

Kedja ihop dem genom att koppla varje assertions port done till nästa begärans port in — det är det som garanterar ordningen.

Klicka på Kör. Loggen fylls på; lägg till en Log-åtgärd efter varje steg för att spåra det som betyder något.

Koppla en Throw-åtgärd på utgången else i dina kritiska assertions: det är det som får CI-jobbet att misslyckas.

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

Slutkod 0 om allt går igenom, annars 1. Se Headless-körning och CI för exemplen med GitHub Actions och GitLab CI.