Headless çalıştırma ve sürekli entegrasyon
Arayüzde oluşturulmuş bir senaryo, komut satırından pencere olmadan çalışır. API testlerinizi bir pipeline adımına dönüştüren yol budur.

restorm \ --open ./projet.restorm \ --run "Find pets by status" \ --headless \ --param status=availableArgümanlar
Section titled “Argümanlar”| Argüman | Rol |
|---|---|
--open <path>, -o | Açılacak proje. --run ile birlikte zorunludur |
--run <target> | Çalıştırılacak senaryo. Varlığı komut satırı kipini etkinleştirir |
--by <name|id> | --run senaryoyu nasıl belirtir: ada göre (varsayılan) ya da tanımlayıcıya göre |
--headless | Hiç pencere yok. Bu argüman olmadan, günlük konsolda akarken pencere de görünür |
--param name=value | Bir senaryo giriş parametresi (bir Input / Param kutusu) için değer. Yinelenebilir |
--all-logs | Motorun girdilerini de içerir; varsayılan olarak yalnızca Log eyleminin girdileri yayılır |
--out <file> | Günlüğü akış hâlinde bir dosyaya da yazar |
--clear-settings, -cls | Başlatmadan önce tercihleri sıfırlar |
Hatalı biçimlendirilmiş bir --param (= içermeyen) hata çıktısında bildirilir
ve yok sayılır. name= (boş değer) kabul edilir.
Değerler, parametrenin bildirilen türüne göre dönüştürülür — bkz. Senaryoda değişkenler ve veriler.
Çıkış kodları
Section titled “Çıkış kodları”| Kod | Anlamı |
|---|---|
0 | Senaryo düzgün biçimde tamamlandı |
1 | Başarısızlık, iptal ya da motor hatası |
2 | Hedef bulunamadı, --out dosyasına erişilemiyor ya da --run verilmiş ama --open yok |
3 | Hak reddedildi: RESTORM_TOKEN yok, geçersiz ya da iptal edilmiş, plan yetersiz, veya doğrulama noktasına ulaşılamıyor |
Sonucu bir CI runner’ı tarafından doğrudan kullanılabilir kılan şey bu uzlaşımdır.
Günlük, üretildiği anda birer girdi hâlinde standart çıktıya, bir YAML dizisi biçiminde yazılır:
- message: "🔵 [2026-07-29 10:30:00.123] Commande créée" data: { id: 4271 }Düzeylerin önüne renkli bir nokta konur: ⚪ debug, 🔵 info, 🟠 warn,
🔴 error. Satırlar asla bölünmez — çıktı grep-lenebilir kalır. Hatalar
standart hata çıktısına gider.
Bu, arayüzdeki “günlüğü kopyala” düğmesinin ürettiği metnin tam olarak aynısıdır: iki tarafta da aynı biçim.
CI’da gizli değerler
Section titled “CI’da gizli değerler”Ortam değişkeni gizli değer kaynağını kullanın: gizli değer CI’nızın kasası tarafından enjekte edilir, Restorm onu yalnızca okur ve projeye hiçbir şey yazılmaz. Bkz. Gizli değerler.
GitHub Actions
Section titled “GitHub Actions”name: Tests d'APIon: [push]
jobs: api: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4
- name: Installer Restorm env: RESTORM_VERSION: '1.4.2' # sabitlemek istediğiniz sürüm 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.logGitLab CI
Section titled “GitLab CI”tests-api: image: ubuntu:24.04 variables: RESTORM_TOKEN: $RESTORM_TOKEN RESTORM_VERSION: '1.4.2' # sabitlemek istediğiniz sürüm 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]Headless kipte ne değişir
Section titled “Headless kipte ne değişir”- Toast eylemleri hiçbir şey yapmaz; çalıştırma normal biçimde sürer.
- Parametreler etkileşimli olarak sorulamaz: hepsini
--paramile verin ya da varsayılan değerlerini almalarına izin verin. - MCP sunucusu, ayar ne olursa olsun, ekranı olmayan bir makinede asla başlamaz.
Token edinme
Section titled “Token edinme”RESTORM_TOKEN token’ı (rstk_ ön ekli) hesabınızın panosundan üretilir.
Bir kişiye değil, kuruluşa bağlıdır: CI’nın kasasına konacak token budur.
Bkz. Hesaplar ve oturum açma.