Aller au contenu

Headless izvođenje i kontinuirana integracija

Scenarij izgrađen u sučelju izvodi se bez prozora iz naredbene linije. To je put koji vaše API testove pretvara u korak cjevovoda.

Scenarij „Find pets by status” u uređivaču: akcija Input/Param nazvana status, zahtjev „Finds Pets by status” i Log

Terminal window
restorm \
--open ./projet.restorm \
--run "Find pets by status" \
--headless \
--param status=available
ArgumentUloga
--open <path>, -oProjekt koji treba otvoriti. Obavezan uz --run
--run <target>Scenarij koji treba izvesti. Njegova prisutnost aktivira način naredbene linije
--by <name|id>Kako --run označava scenarij: po nazivu (zadano) ili po identifikatoru
--headlessNikakav prozor. Bez njega se prozor prikazuje dok zapisnik teče konzolom
--param name=valueVrijednost za ulazni parametar scenarija (kutija Input / Param). Ponovljivo
--all-logsUključuje stavke pogona; prema zadanome emitiraju se samo one iz akcije Log
--out <file>Zapisnik zapisuje i u datoteku, u stvarnom vremenu
--clear-settings, -clsPoništava postavke prije pokretanja

Loše oblikovan --param (bez =) prijavljuje se na izlaz za pogreške i preskače. name= (prazna vrijednost) prihvaća se.

Vrijednosti se pretvaraju prema deklariranom tipu parametra — pogledajte Varijable i podatke.

KodZnačenje
0Scenarij je uredno završio
1Neuspjeh, otkazivanje ili pogreška pogona
2Cilj nije pronađen, datoteka --out nedostupna ili --run bez --open
3Odbijeno pravo: RESTORM_TOKEN nedostaje, nije valjan ili je opozvan, plan nije dovoljan ili je točka provjere nedostupna

Ta konvencija čini rezultat izravno upotrebljivim za CI runner.

Zapisnik se ispisuje na standardni izlaz, jedna stavka po jedna, čim je proizvedena, u obliku YAML niza:

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

Razine imaju prefiks pločice: ⚪ debug, 🔵 info, 🟠 warn, 🔴 error. Retci se nikada ne prelamaju — izlaz ostaje pogodan za grep. Pogreške odlaze na standardni izlaz za pogreške.

To je točno tekst koji proizvodi gumb „kopiraj zapisnik” u sučelju: isti format s obiju strana.

Upotrijebite izvor tajne varijabla okruženja: tajnu ubacuje trezor vašeg CI-ja, Restorm je samo čita i ništa se ne zapisuje u projekt. Pogledajte Tajne.

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' # verzija koju želite prikvačiti
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' # verzija koju želite prikvačiti
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]
  • Akcije Toast ne rade ništa; izvođenje se uredno nastavlja.
  • Parametri se ne mogu tražiti interaktivno: navedite ih sve pomoću --param ili im dopustite da preuzmu zadanu vrijednost.
  • MCP poslužitelj nikada se ne pokreće na računalu bez zaslona, bez obzira na postavku.

Token RESTORM_TOKEN (s prefiksom rstk_) generira se s nadzorne ploče vašeg računa. Vezan je uz organizaciju, a ne uz osobu: to je token koji se stavlja u trezor CI-ja. Pogledajte Račune i prijavu.