Lewati ke konten

Eksekusi headless dan integrasi berkelanjutan

Sebuah skenario yang dibangun di dalam antarmuka dapat dijalankan tanpa jendela dari baris perintah. Inilah jalur yang mengubah pengujian API Anda menjadi sebuah tahap pipeline.

Skenario “Find pets by status” di dalam editornya: sebuah aksi Input/Param bernama status, permintaan “Finds Pets by status”, dan sebuah Log

Terminal window
restorm \
--open ./projet.restorm \
--run "Find pets by status" \
--headless \
--param status=available
ArgumenPeran
--open <jalur>, -oProyek yang akan dibuka. Wajib bersama --run
--run <sasaran>Skenario yang akan dijalankan. Kehadirannya mengaktifkan mode baris perintah
--by <name|id>Cara --run menunjuk skenarionya: menurut nama (bawaan) atau menurut pengenal
--headlessTanpa jendela. Tanpa opsi ini, jendelanya muncul selagi lognya bergulir di konsol
--param nama=nilaiSebuah nilai untuk sebuah parameter masukan skenario (sebuah kotak Input / Param). Dapat diulang
--all-logsMenyertakan entri milik mesinnya; secara bawaan hanya entri dari aksi Log yang dipancarkan
--out <file>Menulis lognya juga ke sebuah file, secara berkelanjutan
--clear-settings, -clsMengatur ulang preferensi sebelum peluncurannya

Sebuah --param yang salah bentuk (tanpa =) dilaporkan ke keluaran galat dan diabaikan. nama= (nilai kosong) diterima.

Nilainya dikonversi menurut tipe yang dideklarasikan untuk parameternya — lihat Variabel dan data.

KodeArtinya
0Skenarionya berakhir dengan benar
1Gagal, dibatalkan, atau galat mesinnya
2Sasaran tidak ditemukan, file --out tidak dapat diakses, atau --run tanpa --open
3Hak ditolak: RESTORM_TOKEN tidak ada, tidak valid, atau dicabut, paket tidak memadai, atau titik verifikasinya tidak dapat dihubungi

Konvensi inilah yang membuat hasilnya langsung dapat dimanfaatkan oleh sebuah runner CI.

Lognya ditulis ke keluaran standar, satu entri sekaligus, begitu entri itu dihasilkan, dalam bentuk urutan YAML:

- message: "🔵 [2026-07-29 10:30:00.123] Commande créée"
data: { id: 4271 }

Levelnya diawali sebuah titik penanda: ⚪ debug, 🔵 info, 🟠 warn, 🔴 error. Barisnya tidak pernah dipotong — keluarannya tetap dapat di-grep. Galat dikirim ke keluaran galat standar.

Inilah persis teks yang dihasilkan tombol “salin log” pada antarmukanya: format yang sama di kedua sisi.

Gunakan sumber rahasia variabel lingkungan: rahasianya disuntikkan oleh brankas CI Anda, Restorm hanya membacanya, dan tidak ada yang ditulis ke dalam proyeknya. Lihat Rahasia.

name: Tests d'API
on: [push]
jobs:
api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Installer Restorm
env:
RESTORM_VERSION: '1.4.2' # versi yang ingin Anda sematkan
run: |
curl -sSL -o restorm.deb \
"https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb"
sudo apt-get install -y ./restorm.deb
- name: Exécuter les tests de fumée
env:
RESTORM_TOKEN: ${{ secrets.RESTORM_TOKEN }}
API_TOKEN: ${{ secrets.API_TOKEN }}
run: |
xvfb-run -a restorm \
--open ./api.restorm \
--run "Find pets by status" \
--headless \
--all-logs \
--out run.log \
--param status=available
- name: Publier le journal
if: always()
uses: actions/upload-artifact@v4
with:
name: journal-restorm
path: run.log
tests-api:
image: ubuntu:24.04
variables:
RESTORM_TOKEN: $RESTORM_TOKEN
RESTORM_VERSION: '1.4.2' # versi yang ingin Anda sematkan
before_script:
- apt-get update && apt-get install -y curl xvfb
- curl -sSL -o restorm.deb "https://dl.restorm.app/restorm_${RESTORM_VERSION}_amd64.deb"
- apt-get install -y ./restorm.deb
script:
- >
xvfb-run -a restorm
--open ./api.restorm
--run "Find pets by status"
--headless --all-logs --out run.log
--param status=$PET_STATUS
artifacts:
when: always
paths: [run.log]
  • Aksi Toast tidak melakukan apa pun; eksekusinya berlanjut sebagaimana biasa.
  • Parameter tidak dapat diminta secara interaktif: berikan semuanya dengan --param, atau biarkan mengambil nilai bawaannya.
  • Server MCP tidak pernah dijalankan pada mesin tanpa tampilan, apa pun setelannya.

Token RESTORM_TOKEN (berawalan rstk_) dihasilkan dari dasbor akun Anda. Token itu terikat pada organisasi, bukan pada perseorangan: inilah token yang disimpan di dalam brankas CI. Lihat Akun dan masuk.