Lewati ke konten

Pengantar skenario

Sebuah skenario adalah graf. Kotak-kotak (aksinya) dihubungkan oleh sambungan yang mengangkut nilai dan sinyal. Mesinnya menjalankan sebuah kotak begitu semua masukan yang terhubung telah menerima sesuatu.

Inilah yang di Restorm menggantikan skrip pra-permintaan dan pasca-permintaan milik klien API lain — dengan satu keunggulan yang menentukan: alirannya terlihat.

Klik kanan di pohon ▸ Tambah ▸ Skenario.

Sebuah skenario lengkap di dalam editornya: sebuah node Input/Param, sebuah permintaan HTTP, sebuah asersi pada kode status, sebuah ekstraksi Handlebars, sebuah kondisi If, dan sebuah Log

  • Merangkai panggilan dan meneruskan sebuah nilai dari satu panggilan ke panggilan berikutnya: membuat sebuah sumber daya, mengambil pengenalnya, lalu memakainya pada panggilan berikutnya.
  • Memeriksa: asersi, validasi skema JSON, perbandingan.
  • Bercabang dan mengulang: if, switch, for, forEach, while, retry.
  • Mengorkestrasi beberapa transport: membuka langganan MQTT, memicu sebuah aksi lewat HTTP, lalu memastikan pesannya tiba.
  • Mengotomatiskan: skenario yang sama berjalan di dalam antarmuka maupun tanpa jendela dalam integrasi berkelanjutan.
KonsepArtinya
Kotak (node)Sebuah aksi. Tersedia sembilan puluh jenis — lihat katalognya
PortSebuah titik sambung pada kotak, bertipe dan berarah
Sambungan (sisi)Sebuah kabel antara port keluaran dan port masukan
SelektorSebuah jalur yang diterapkan pada nilai yang sedang lewat di sebuah sambungan (data.items[0].id)
Variabel runSebuah nilai bernama, yang ditetapkan dan dibaca kembali selama eksekusi
ParameterSebuah masukan skenario, yang diberikan saat peluncuran atau di baris perintah
KeluaranSebuah hasil yang diekspos kepada pemanggil skenario

Ketiganya tidak tercantum di dalam konfigurasi: mereka bagian dari kerangka kotaknya.

PortArahPeran
inMasukanPemicunya. Port ini menerima beberapa sambungan masuk dan kemudian menunggu hingga semuanya tiba — inilah penghalang “tunggu sampai beberapa cabang selesai”
errorKeluaranJalur kegagalan. Segala yang gagal keluar lewat sini
doneKeluaranDipancarkan ketika kotaknya dan seluruh sub-grafnya di hilir telah selesai

Perbedaan antara done dan keluaran nilai itu penting: sebuah nilai keluar begitu ia dihasilkan, sedangkan done menunggu semua yang bergantung padanya selesai.

  1. Tambahkan aksi Permintaan HTTP lalu tautkan ke sebuah permintaan yang sudah ada.
  2. Tambahkan aksi Assert, dengan operator eq.
  3. Tarik sebuah sambungan dari port response milik permintaannya ke masukan a milik asersinya, lalu pasang selektor status pada sambungan itu.
  4. Di dalam asersinya, setel b menjadi 200.
  5. Klik Putar.

Asersinya memiliki dua keluaran, then dan else: sambungkan sebuah Log atau sebuah Toast pada masing-masingnya untuk melihat hasilnya lewat.