İçeriğe geç

Bir REST API'yi 5 dakikada test etme

Hedef: bir OpenAPI belirtiminden yola çıkıp eksiksiz bir akışı denetleyen otomatik bir teste ulaşmak.

Dosya ▸ İçe aktar (Ctrl+I), ardından openapi.json dosyanızın URL’si.

Restorm ağacın tamamını kurar: her etiket için bir klasör, her işlem için bir istek, türlendirilmiş parametreler, dokümantasyon ve değişkenleriyle birlikte önceden bağlanmış kimlik doğrulama başlıkları.

OpenAPI içe aktarmasının ürettiği, kullanıma hazır ağaç: her etiket için bir klasör (pet, store, user) ve her işlem için önceden doldurulmuş bir istek — değişken klasörünün giriş alt sekmesinin yanında

API’nizin bir belirtimi yoksa bir curl komutu yapıştırın — bkz. cURL komutlarını içe aktarma.

İçe aktarmanın oluşturduğu değişken klasörünü açın. Temel URL zaten oradadır; içe aktarmanın sizin için hazırladığı kimlik doğrulama değişkenini tamamlayın.

Birden çok hedefi test ediyorsanız ikinci bir ortam oluşturun — smartbar üzerindeki seçici klasörün tamamını bir hamlede değiştirir.

Bir isteği açın ve Send düğmesine tıklayın. Yanıt görünür: durum, süre, başlıklar ve katlanabilir bir görüntüleyicide gövde.

Bir şeyi atladıysanız, URL alanının altında gösterilen çözümlenmiş değer bunu size söyler.

Sağ tıklayın ▸ Ekle ▸ Senaryo. “Oluştur, geri oku, sil” akışı:

HTTP isteği “POST /clients”
└─response──► Assert (eq, 201)
└─► Değişken ata “clientId” ◄── seçici body.id
HTTP isteği “GET /clients/{id}”
└─response──► Assert (eq, 200)
└─► Şema doğrulama (müşterinin JSON Schema'sı)
HTTP isteği “DELETE /clients/{id}”
└─response──► Assert (eq, 204)

Üç istek de URL’sinde {{clientId}} kullanır: ilk adımda yazılan çalıştırma değişkeni sonraki adımlar tarafından okunur.

Her doğrulamanın done portunu sonraki isteğin in portuna bağlayarak bunları zincirleyin — sırayı güvenceye alan şey budur.

Çalıştır düğmesine tıklayın. Günlük dolmaya başlar; önemli olanın izini tutmak için her adımdan sonra bir Log eylemi ekleyin.

Kritik doğrulamalarınızın else çıkışına bir Throw eylemi bağlayın: CI işini başarısız kılacak olan şey budur.

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

Her şey geçerse çıkış kodu 0, aksi hâlde 1. GitHub Actions ve GitLab CI örnekleri için bkz. Headless çalıştırma ve sürekli entegrasyon.