Μετάβαση στο περιεχόμενο

Εκτέλεση headless και συνεχής ενσωμάτωση

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

Το σενάριο «Find pets by status» μέσα στον επεξεργαστή: μια ενέργεια Input/Param με όνομα status, το αίτημα «Finds Pets by status» και ένα Log

Terminal window
restorm \
--open ./projet.restorm \
--run "Find pets by status" \
--headless \
--param status=available
ΌρισμαΡόλος
--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= (κενή τιμή) γίνεται δεκτό.

Οι τιμές μετατρέπονται σύμφωνα με τον δηλωμένο τύπο της παραμέτρου — δείτε Μεταβλητές και δεδομένα.

ΚωδικόςΣημασία
0Το σενάριο ολοκληρώθηκε σωστά
1Αποτυχία, ακύρωση, ή σφάλμα της μηχανής
2Ο στόχος δεν βρέθηκε, το αρχείο --out δεν είναι προσβάσιμο, ή --run χωρίς --open
3Άρνηση δικαιώματος: RESTORM_TOKEN απόν, άκυρο ή ανακληθέν, ανεπαρκές πλάνο, ή σημείο ελέγχου μη προσβάσιμο

Αυτή η σύμβαση είναι που καθιστά το αποτέλεσμα άμεσα αξιοποιήσιμο από έναν runner CI.

Το αρχείο καταγραφής γράφεται στην τυπική έξοδο, μία καταχώριση τη φορά, μόλις παραχθεί, με τη μορφή ακολουθίας YAML:

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

Τα επίπεδα προτάσσονται με μια κουκκίδα: ⚪ debug, 🔵 info, 🟠 warn, 🔴 error. Οι γραμμές δεν κόβονται ποτέ — η έξοδος παραμένει grep-able. Τα σφάλματα φεύγουν στην τυπική έξοδο σφαλμάτων.

Είναι ακριβώς το κείμενο που παράγει το κουμπί «αντιγραφή του αρχείου καταγραφής» της διεπαφής: η ίδια μορφή και από τις δύο πλευρές.

Χρησιμοποιήστε την πηγή μυστικού μεταβλητή περιβάλλοντος: το μυστικό εισάγεται από το θησαυροφυλάκιο του CI σας, το Restorm απλώς το διαβάζει, και τίποτα δεν γράφεται μέσα στο έργο. Δείτε Μυστικά.

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' # η έκδοση που θέλετε να καρφιτσώσετε
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' # η έκδοση που θέλετε να καρφιτσώσετε
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 RESTORM_TOKEN (με πρόθεμα rstk_) παράγεται από τον πίνακα ελέγχου του λογαριασμού σας. Είναι συνδεδεμένο με τον οργανισμό, όχι με ένα πρόσωπο: είναι το token που βάζουμε στο θησαυροφυλάκιο του CI. Δείτε Λογαριασμοί και σύνδεση.