Εκτέλεση headless και συνεχής ενσωμάτωση
Ένα σενάριο που κατασκευάστηκε μέσα στη διεπαφή εκτελείται χωρίς παράθυρο από τη γραμμή εντολών. Είναι ο δρόμος που μετατρέπει τις δοκιμές API σας σε βήμα ενός pipeline.

restorm \ --open ./projet.restorm \ --run "Find pets by status" \ --headless \ --param status=availableΤα ορίσματα
Section titled “Τα ορίσματα”| Όρισμα | Ρόλος |
|---|---|
--open <chemin>, -o | Το έργο που θα ανοίξει. Υποχρεωτικό μαζί με το --run |
--run <cible> | Το σενάριο που θα εκτελεστεί. Η παρουσία του ενεργοποιεί τη λειτουργία γραμμής εντολών |
--by <name|id> | Πώς το --run ορίζει το σενάριο: κατά όνομα (προεπιλογή) ή κατά αναγνωριστικό |
--headless | Κανένα παράθυρο. Χωρίς αυτό, το παράθυρο εμφανίζεται ενώ το αρχείο καταγραφής κυλά στην κονσόλα |
--param nom=valeur | Μια τιμή για μια παράμετρο εισόδου του σεναρίου (ένα κουτί Input / Param). Επαναλαμβανόμενο |
--all-logs | Περιλαμβάνει τις καταχωρίσεις της μηχανής· εξ ορισμού εκπέμπονται μόνο εκείνες της ενέργειας Log |
--out <fichier> | Γράφει επίσης το αρχείο καταγραφής σε ένα αρχείο, προοδευτικά |
--clear-settings, -cls | Επαναφέρει τις προτιμήσεις πριν από την εκκίνηση |
Ένα κακοδιατυπωμένο --param (χωρίς =) επισημαίνεται στην έξοδο σφάλματος και
αγνοείται. Το nom= (κενή τιμή) γίνεται δεκτό.
Οι τιμές μετατρέπονται σύμφωνα με τον δηλωμένο τύπο της παραμέτρου — δείτε Μεταβλητές και δεδομένα.
Οι κωδικοί εξόδου
Section titled “Οι κωδικοί εξόδου”| Κωδικός | Σημασία |
|---|---|
0 | Το σενάριο ολοκληρώθηκε σωστά |
1 | Αποτυχία, ακύρωση, ή σφάλμα της μηχανής |
2 | Ο στόχος δεν βρέθηκε, το αρχείο --out δεν είναι προσβάσιμο, ή --run χωρίς --open |
3 | Άρνηση δικαιώματος: RESTORM_TOKEN απόν, άκυρο ή ανακληθέν, ανεπαρκές πλάνο, ή σημείο ελέγχου μη προσβάσιμο |
Αυτή η σύμβαση είναι που καθιστά το αποτέλεσμα άμεσα αξιοποιήσιμο από έναν runner CI.
Η έξοδος
Section titled “Η έξοδος”Το αρχείο καταγραφής γράφεται στην τυπική έξοδο, μία καταχώριση τη φορά, μόλις παραχθεί, με τη μορφή ακολουθίας YAML:
- message: "🔵 [2026-07-29 10:30:00.123] Commande créée" data: { id: 4271 }Τα επίπεδα προτάσσονται με μια κουκκίδα: ⚪ debug, 🔵 info, 🟠 warn,
🔴 error. Οι γραμμές δεν κόβονται ποτέ — η έξοδος παραμένει grep-able. Τα
σφάλματα φεύγουν στην τυπική έξοδο σφαλμάτων.
Είναι ακριβώς το κείμενο που παράγει το κουμπί «αντιγραφή του αρχείου καταγραφής» της διεπαφής: η ίδια μορφή και από τις δύο πλευρές.
Τα μυστικά σε CI
Section titled “Τα μυστικά σε CI”Χρησιμοποιήστε την πηγή μυστικού μεταβλητή περιβάλλοντος: το μυστικό εισάγεται από το θησαυροφυλάκιο του CI σας, το Restorm απλώς το διαβάζει, και τίποτα δεν γράφεται μέσα στο έργο. Δείτε Μυστικά.
Εγκατάσταση του Restorm στον runner
Section titled “Εγκατάσταση του Restorm στον runner”- Από το npm —
npm i -g restorm-cli@<έκδοση>και μετάrestorm …. Η επίσημη έκδοση κατεβαίνει μία φορά, επαληθεύεται με το δημοσιευμένο άθροισμα ελέγχου και αποθηκεύεται στην κρυφή μνήμη, ώστε οι επόμενες εργασίες στο ίδιο μηχάνημα να μην κατεβάζουν τίποτα. Ο αριθμός έκδοσης του πακέτου npm είναι η έκδοση του Restorm που εκτελεί: καρφιτσώνοντας το ένα καρφιτσώνετε και το άλλο. - Από το πακέτο του συστήματος (
.deb,.rpm), όπως στα παραδείγματα παρακάτω — η καλύτερη επιλογή αν φτιάχνετε τη δική σας εικόνα runner, αφού τότε η εργασία δεν κατεβάζει απολύτως τίποτα.
Η επίσημη ενέργεια GitHub
Section titled “Η επίσημη ενέργεια GitHub”Στο GitHub, η Monsieur-Dev/restorm-action συγκεντρώνει όλα όσα περιγράφει αυτή η σελίδα σε ένα βήμα: εγκαθιστά το Restorm μέσω του restorm-cli (μία λήψη επαληθευμένη με άθροισμα ελέγχου, αποθηκευμένη στην κρυφή μνήμη μεταξύ εργασιών), το τυλίγει σε xvfb, εκτελεί το σενάριό σας χωρίς διεπαφή και μεταφράζει κάθε κωδικό εξόδου σε επώνυμο σφάλμα εργασίας.
- uses: Monsieur-Dev/restorm-action@v1 with: project: ./api.restorm scenario: Smoke tests params: | status=available env: RESTORM_TOKEN: ${{ secrets.RESTORM_TOKEN }}Η ετικέτα της ενέργειας καρφιτσώνει την έκδοση του Restorm (η @v1.2.3 εκτελεί το Restorm 1.2.3), ή περάστε ρητή είσοδο version:. Όλες οι είσοδοι τεκμηριώνονται στο README του αποθετηρίου. Η χειροκίνητη συνταγή παρακάτω παραμένει για όποιον θέλει πλήρη έλεγχο.
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' # η έκδοση που θέλετε να καρφιτσώσετε 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' # η έκδοση που θέλετε να καρφιτσώσετε 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
Section titled “Τι αλλάζει σε λειτουργία headless”- Οι ενέργειες Toast δεν κάνουν τίποτα· η εκτέλεση συνεχίζεται κανονικά.
- Οι παράμετροι δεν μπορούν να ζητηθούν διαδραστικά: δώστε τες όλες με
--param, ή αφήστε τες να πάρουν την προεπιλεγμένη τιμή τους. - Ο διακομιστής MCP δεν εκκινεί ποτέ σε μηχάνημα χωρίς οθόνη, όποια κι αν είναι η ρύθμιση.
Απόκτηση ενός token
Section titled “Απόκτηση ενός token”Το token RESTORM_TOKEN (με πρόθεμα rstk_) παράγεται από τον πίνακα ελέγχου
του λογαριασμού σας. Είναι συνδεδεμένο με τον οργανισμό, όχι με ένα
πρόσωπο: είναι το token που βάζουμε στο θησαυροφυλάκιο του CI. Δείτε
Λογαριασμοί και σύνδεση.