Přeskočit na obsah

Automatizace testů API v průběžné integraci

Scénář postavený v rozhraní běží ve vaší pipeline přesně tak, jak je. Tento průvodce se věnuje přechodu do provozního měřítka.

  • Plán Pro nebo Enterprise.
  • Token organizace (rstk_…), který uložíte do trezoru tajemství své CI. (Samoobslužné vytvoření tohoto tokenu z nástěnky se chystá.)
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

Návratový kód 0 = úspěch, 1 = selhání scénáře, 2 = chyba vyvolání, 3 = odepřené právo.

Restorm je desktopová aplikace: i bez okna potřebuje server displeje. Na runneru s Linuxem přidejte předponu xvfb-run -a.

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

Nikdy nezapisujte tajemství do projektu. Své citlivé proměnné deklarujte se zdrojem tajemství proměnná prostředí; trezor vaší CI je vloží a Restorm je přečte. Viz Tajemství.

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

Dva doplňující se přístupy:

  1. Parametr scénáře typu environment: --param Env=staging. Tentýž scénář pak běží proti libovolnému cíli.
  2. Jednoduché parametry: --param baseUrl=…, --param tenant=….

Převod se řídí deklarovaným typem parametru a nemožný převod nechá spuštění selhat okamžitě, místo aby běželo se špatnou hodnotou. Viz Proměnné a data.

--out run.log zapisuje záznam průběžně. Publikujte ho jako artefakt, a to i tehdy, když úloha selže — právě tehdy je totiž k něčemu.

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

Pár návyků, které všechno změní, jakmile se ve tři ráno objeví červená úloha:

  • Výslovné zprávy u assercí. Pole message akce Assert je to, co se objeví v záznamu: napište do něj, co se očekávalo.
  • Záznam v klíčových krocích. Bez --all-logs se vysílají jen položky akce Log: to je vaše vypravěčská linka.
  • Validace schématu místo assercí po jednotlivých polích. Zapojte výstup errors bloku Validace schématu na Log: dostanete přesný seznam porušení.
  • Throw na kritických výstupech else, aby návratový kód selhání odrážel.
  • Retry okolo nestabilních síťových volání, místo abyste se smířili s občasně padajícími testy. Viz Řízení.

Úklid zřetězte na port done hlavního scénáře: done čeká, až skončí celý podgraf. Viz Porty a propojení.

PastŘešení
Úloha čeká na zadáníPředejte všechny parametry pomocí --param; v režimu headless si nelze o nic říct
Akce Toast se nezobrazíTo je normální: v režimu headless nemá žádný účinek. Použijte Log
Server MCP se neobjevíTo je záměr: bez skutečného displeje se nikdy nespustí
Návratový kód 3Token nebo plán — zpráva upřesní, který ze čtyř případů nastal
Soubor projektu se přesunul--open přijímá cestu relativní k repozitáři: nechte ji relativní

Pipeline pro GitHub Actions a GitLab CI najdete v kapitole Běh v režimu headless a CI.