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.
Preduslovi
Section titled “Preduslovi”- 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.)
Načelo
Section titled “Načelo”RESTORM_TOKEN=$RESTORM_TOKEN restorm \ --open ./api.restorm \ --run "Tests de fumée" \ --headless \ --all-logs \ --out run.log \ --param baseUrl=$BASE_URLIzlazni kod 0 = uspeh, 1 = neuspeh scenarija, 2 = greška poziva, 3 =
odbijeno pravo.
Potreban je virtuelni ekran
Section titled “Potreban je virtuelni ekran”Restorm je desktop aplikacija: čak i bez prozora, treba mu server za prikaz. Na
Linux runneru dodajte prefiks xvfb-run -a.
xvfb-run -a restorm --open ./api.restorm --run "Tests de fumée" --headlessNikada 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 }}Parametrizacija po okruženju
Section titled “Parametrizacija po okruženju”Dva komplementarna pristupa:
- Parametar scenarija tipa
environment:--param Env=staging. Isti scenario radi prema bilo kom cilju. - 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.
Objavljivanje zapisa
Section titled “Objavljivanje zapisa”--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.logPisanje scenarija čitljivih u CI-ju
Section titled “Pisanje scenarija čitljivih u CI-ju”Nekoliko navika koje sve menjaju kada se u 3 ujutru pojavi crven posao:
- Izričite poruke tvrdnji. Polje
messageakcije Tvrdnja je ono što će se pojaviti u zapisu: napišite u njemu šta se očekivalo. - Zapis na ključnim koracima. Bez
--all-logsemituju se samo stavke akcije Log: to je vaša narativna nit. - Validacija šeme umesto tvrdnje polje po polje. Povežite izlaz
errorsakcije 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.
Čišćenje
Section titled “Čišćenje”Povežite čišćenje na port done glavnog scenarija: done čeka da se završi
ceo podgraf. Vidite
Portovi i veze.
Zamke koje treba znati
Section titled “Zamke koje treba znati”| Zamka | Rešenje |
|---|---|
| Posao čeka na unos | Dostavite sve parametre preko --param; u headless režimu ništa ne može da se traži |
| Akcija Toast se ne prikazuje | To je normalno: u headless režimu je bez efekta. Koristite Log |
| MCP server se ne pojavljuje | To je namerno: bez stvarnog ekrana nikada se ne pokreće |
Izlaz 3 | Token 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 |
Kompletni primeri
Section titled “Kompletni primeri”Pipeline-ovi za GitHub Actions i GitLab CI nalaze se u Headless izvršavanje i CI.