Lewati ke konten

Menguji sebuah API REST dalam 5 menit

Tujuan: berangkat dari sebuah spesifikasi OpenAPI dan sampai pada sebuah pengujian otomatis yang memverifikasi satu alur yang lengkap.

File ▸ Impor (Ctrl+I), lalu masukkan URL openapi.json Anda.

Restorm membangun seluruh pohonnya: satu folder per label, satu permintaan per operasi, parameter yang bertipe, dokumentasinya, serta header autentikasi yang sudah terpasang beserta variabelnya.

Pohon yang dihasilkan oleh impor OpenAPI, siap dipakai: satu folder per label (pet, store, user) dan satu permintaan yang sudah terisi per operasi, di samping sub-tab beranda folder variabelnya

Jika API Anda tidak memiliki spesifikasi, tempelkan saja sebuah perintah curl — lihat Mengimpor perintah cURL.

Bukalah folder variabel yang dibuat oleh impornya. URL dasarnya sudah ada di sana; lengkapi variabel autentikasi yang telah disiapkan impornya untuk Anda.

Buatlah lingkungan kedua jika Anda menguji beberapa sasaran — pemilih pada smartbar mengalihkan seluruh foldernya sekaligus.

Bukalah sebuah permintaan, lalu klik Send. Responsnya muncul: status, waktu, header, dan body di dalam penampil yang dapat dilipat.

Jika ada sesuatu yang terlewat, nilai hasil resolusi yang ditampilkan di bawah kolom URL akan memberi tahu Anda.

Klik kanan ▸ Tambah ▸ Skenario. Alur “membuat, membaca ulang, menghapus”:

Permintaan HTTP “POST /clients”
└─response──► Assert (eq, 201)
└─► Atur variabel “clientId” ◄── selektor body.id
Permintaan HTTP “GET /clients/{id}”
└─response──► Assert (eq, 200)
└─► Schema validate (JSON Schema milik kliennya)
Permintaan HTTP “DELETE /clients/{id}”
└─response──► Assert (eq, 204)

Ketiga permintaannya memakai {{clientId}} di dalam URL-nya: variabel run yang ditetapkan pada langkah pertama dibaca oleh langkah-langkah berikutnya.

Rangkaikan ketiganya dengan menyambungkan port done setiap asersi ke port in milik permintaan berikutnya — itulah yang menjamin urutannya.

Klik Putar. Lognya terisi; tambahkan sebuah aksi Log setelah setiap langkah untuk melacak apa yang penting.

Sambungkan sebuah aksi Throw ke keluaran else milik asersi kritis Anda: itulah yang akan menggagalkan job CI-nya.

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

Kode keluar 0 jika semuanya lolos, 1 jika tidak. Lihat Eksekusi headless dan CI untuk contoh GitHub Actions dan GitLab CI.