Headless-Ausführung und Continuous Integration
Ein in der Oberfläche erstelltes Szenario lässt sich ohne Fenster über die Kommandozeile ausführen. Das ist der Weg, der aus Ihren API-Tests einen Pipeline-Schritt macht.

restorm \ --open ./projet.restorm \ --run "Find pets by status" \ --headless \ --param status=availableDie Argumente
Section titled “Die Argumente”| Argument | Rolle |
|---|---|
--open <path>, -o | Das zu öffnende Projekt. Bei --run erforderlich |
--run <target> | Das auszuführende Szenario. Sein Vorhandensein aktiviert den Kommandozeilenmodus |
--by <name|id> | Wie --run das Szenario bezeichnet: nach Name (Standard) oder nach ID |
--headless | Kein Fenster. Ohne diese Option wird das Fenster angezeigt, während das Protokoll auf der Konsole mitläuft |
--param name=value | Ein Wert für einen Eingabeparameter des Szenarios (einen Input/Param-Baustein). Wiederholbar |
--all-logs | Bezieht auch die Einträge der Engine mit ein; standardmäßig werden nur die der Aktion Log ausgegeben |
--out <file> | Schreibt das Protokoll zusätzlich laufend in eine Datei |
--clear-settings, -cls | Setzt die Einstellungen vor dem Start zurück |
Ein fehlerhaft geformtes --param (ohne =) wird auf der
Fehlerausgabe gemeldet und ignoriert. name= (leerer Wert) wird
akzeptiert.
Die Werte werden gemäß dem deklarierten Typ des Parameters umgewandelt – siehe Variablen und Daten.
Die Exit-Codes
Section titled “Die Exit-Codes”| Code | Bedeutung |
|---|---|
0 | Das Szenario wurde erfolgreich beendet |
1 | Fehlschlag, Abbruch oder Engine-Fehler |
2 | Ziel nicht gefunden, Datei --out nicht erreichbar, oder --run ohne --open |
3 | Zugriff verweigert: RESTORM_TOKEN fehlt, ungültig oder widerrufen, unzureichender Plan, oder Prüfpunkt nicht erreichbar |
Diese Konvention macht das Ergebnis direkt für einen CI-Runner nutzbar.
Die Ausgabe
Section titled “Die Ausgabe”Das Protokoll wird auf der Standardausgabe geschrieben, jeweils ein Eintrag, sobald er erzeugt wird, als YAML-Sequenz:
- message: "🔵 [2026-07-29 10:30:00.123] Commande créée" data: { id: 4271 }Die Stufen sind durch ein Symbol gekennzeichnet: ⚪ debug, 🔵 info,
🟠 warn, 🔴 error. Zeilen werden nie umgebrochen – die Ausgabe bleibt
grep-fähig. Fehler werden auf der Standard-Fehlerausgabe ausgegeben.
Das ist exakt der Text, den die Schaltfläche „Protokoll kopieren“ der Oberfläche erzeugt: auf beiden Seiten dasselbe Format.
Secrets in der CI
Section titled “Secrets in der CI”Verwenden Sie die Secret-Quelle Umgebungsvariable: Das Secret wird vom Tresor Ihrer CI eingespeist, Restorm liest es nur, und nichts wird in das Projekt geschrieben. Siehe Secrets.
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' # die Version, die Sie fixieren möchten 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' # die Version, die Sie fixieren möchten 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]Was sich im Headless-Modus ändert
Section titled “Was sich im Headless-Modus ändert”- Toast-Aktionen bewirken nichts; die Ausführung läuft normal weiter.
- Parameter können nicht interaktiv abgefragt werden: Stellen Sie sie
alle über
--parambereit, oder lassen Sie sie ihren Standardwert annehmen. - Der MCP-Server startet auf einer Maschine ohne Bildschirm niemals, unabhängig von der Einstellung.
Ein Token erhalten
Section titled “Ein Token erhalten”Das Token RESTORM_TOKEN (mit dem Präfix rstk_) wird über das Dashboard
Ihres Kontos erzeugt. Es ist an die Organisation gebunden, nicht an
eine Person: Es ist das Token, das man in den Tresor der CI legt. Siehe
Konten und Anmeldung.