Testowanie API REST w 5 minut
Cel: wyjść od specyfikacji OpenAPI i dojść do zautomatyzowanego testu, który sprawdza pełną ścieżkę.
1. Import specyfikacji (30 sekund)
Section titled “1. Import specyfikacji (30 sekund)”Plik ▸ Importuj (Ctrl+I), a następnie adres URL pliku openapi.json.
Restorm buduje kompletne drzewo: jeden folder na etykietę, jedno żądanie na operację, typowane parametry, dokumentację oraz nagłówki uwierzytelniania wstępnie podłączone wraz ze swoimi zmiennymi.

Jeśli dane API nie ma specyfikacji, wystarczy wkleić polecenie curl — zob.
Import poleceń cURL.
2. Wypełnienie środowiska (1 minuta)
Section titled “2. Wypełnienie środowiska (1 minuta)”Należy otworzyć folder zmiennych utworzony przez import. Bazowy adres URL już tam jest; pozostaje uzupełnić zmienną uwierzytelniania, którą import przygotował.
Przy testowaniu kilku celów warto utworzyć drugie środowisko — selektor w smartbarze przełącza cały folder za jednym razem.
3. Wysłanie pierwszego wywołania (30 sekund)
Section titled “3. Wysłanie pierwszego wywołania (30 sekund)”Wystarczy otworzyć żądanie i kliknąć Send. Odpowiedź pojawia się od razu: status, czas, nagłówki oraz treść w zwijanej przeglądarce.
Jeśli o czymś zapomniano, informuje o tym rozwiązana wartość wyświetlana pod polem adresu URL.
4. Budowa scenariusza (2 minuty)
Section titled “4. Budowa scenariusza (2 minuty)”Prawy przycisk myszy ▸ Dodaj ▸ Scenariusz. Ścieżka „utworzenie, odczyt, usunięcie”:
Żądanie HTTP „POST /clients” └─response──► Assert (eq, 201) └─► Ustaw zmienną „clientId” ◄── selektor body.id
Żądanie HTTP „GET /clients/{id}” └─response──► Assert (eq, 200) └─► Walidacja schematu (JSON Schema klienta)
Żądanie HTTP „DELETE /clients/{id}” └─response──► Assert (eq, 204)Wszystkie trzy żądania używają {{clientId}} w swoim adresie URL: zmienna
uruchomienia ustawiona w pierwszym kroku jest odczytywana przez kolejne.
Łączy się je w łańcuch, podłączając port done każdej asercji do portu in
następnego żądania — to właśnie gwarantuje kolejność.
5. Sprawdzenie (30 sekund)
Section titled “5. Sprawdzenie (30 sekund)”Wystarczy kliknąć Uruchom. Dziennik zapełnia się; po każdym kroku warto dodać akcję Log, aby zarejestrować to, co istotne.
Do wyjścia else krytycznych asercji należy podłączyć akcję Throw: to
właśnie ona spowoduje niepowodzenie zadania CI.
6. Automatyzacja (30 sekund)
Section titled “6. Automatyzacja (30 sekund)”RESTORM_TOKEN=rstk_… restorm \ --open ./api.restorm \ --run "Parcours client" \ --headless \ --out run.logKod wyjścia 0, jeśli wszystko przechodzi, w przeciwnym razie 1. Zob.
Uruchamianie headless i CI, gdzie
znajdują się przykłady dla GitHub Actions i GitLab CI.