Aller au contenu

Automatizacija API testova u kontinuiranoj integraciji

Scenario izgrađen u interfejsu radi takav kakav jeste u vašem pipeline-u. Ovaj vodič pokriva prelazak na veći obim.

  • Plan Pro ili Enterprise.
  • Token organizacije (rstk_…) koji treba smestiti u trezor tajni vašeg CI-ja. (Samostalno kreiranje tog tokena sa kontrolne table stiže uskoro.)
Terminal window
RESTORM_TOKEN=$RESTORM_TOKEN restorm \
--open ./api.restorm \
--run "Tests de fumée" \
--headless \
--all-logs \
--out run.log \
--param baseUrl=$BASE_URL

Izlazni kod 0 = uspeh, 1 = neuspeh scenarija, 2 = greška poziva, 3 = odbijeno pravo.

Restorm je desktop aplikacija: čak i bez prozora, treba mu server za prikaz. Na Linux runneru dodajte prefiks xvfb-run -a.

Terminal window
xvfb-run -a restorm --open ./api.restorm --run "Tests de fumée" --headless

Nikada ne upisujte tajnu u projekat. Deklarišite svoje osetljive promenljive sa izvorom tajni promenljiva okruženja; ubacuje ih trezor vašeg CI-ja, a Restorm ih čita. Vidite Tajne.

env:
API_TOKEN: ${{ secrets.API_TOKEN }}

Dva komplementarna pristupa:

  1. Parametar scenarija tipa environment: --param Env=staging. Isti scenario radi prema bilo kom cilju.
  2. Jednostavni parametri: --param baseUrl=…, --param tenant=….

Konverzija prati deklarisani tip parametra, a nemoguća konverzija odmah obara pokretanje umesto da se izvršava sa pogrešnom vrednošću. Vidite Promenljive i podaci.

--out run.log upisuje zapis u toku rada. Objavite ga kao artefakt, uključujući i kada posao zakaže — upravo tada i služi.

- uses: actions/upload-artifact@v4
if: always()
with:
name: journal-restorm
path: run.log

Nekoliko navika koje sve menjaju kada se u 3 ujutru pojavi crven posao:

  • Izričite poruke tvrdnji. Polje message akcije Tvrdnja je ono što će se pojaviti u zapisu: napišite u njemu šta se očekivalo.
  • Zapis na ključnim koracima. Bez --all-logs emituju se samo stavke akcije Log: to je vaša narativna nit.
  • Validacija šeme umesto tvrdnje polje po polje. Povežite izlaz errors akcije Validacija šeme na Log: dobijate tačnu listu kršenja.
  • Throw na ključnim izlazima else, da bi izlazni kod odražavao neuspeh.
  • Retry oko nestabilnih mrežnih poziva, umesto prihvatanja povremeno neuspešnih testova. Vidite Kontrola.

Povežite čišćenje na port done glavnog scenarija: done čeka da se završi ceo podgraf. Vidite Portovi i veze.

ZamkaRešenje
Posao čeka na unosDostavite sve parametre preko --param; u headless režimu ništa ne može da se traži
Akcija Toast se ne prikazujeTo je normalno: u headless režimu je bez efekta. Koristite Log
MCP server se ne pojavljujeTo je namerno: bez stvarnog ekrana nikada se ne pokreće
Izlaz 3Token ili plan — poruka precizira koji je od četiri slučaja
Datoteka projekta se pomerila--open prihvata putanju relativnu u odnosu na repozitorijum: držite je relativnom

Pipeline-ovi za GitHub Actions i GitLab CI nalaze se u Headless izvršavanje i CI.