Aller au contenu

Automatizimi i testeve të API-ve në integrimin e vazhdueshëm

Një skenar i ndërtuar brenda ndërfaqes punon ashtu siç është brenda pipeline-it tuaj. Ky udhëzues mbulon kalimin në shkallë.

  • Një plan Pro ose Enterprise.
  • Një token organizate (rstk_…) për ta vendosur brenda arkës së sekreteve të CI-së suaj. (Krijimi i këtij token-i vetë nga paneli po vjen së shpejti.)
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

Kod dalje 0 = sukses, 1 = dështim i skenarit, 2 = gabim thirrjeje, 3 = e drejtë e refuzuar.

Restorm është një aplikacion desktopi: edhe pa dritare, ai ka nevojë për një server ekrani. Mbi një runner Linux, vendosini përpara xvfb-run -a.

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

Mos shkruani kurrë një sekret brenda projektit. Deklarojini variablat tuaja të ndjeshme me burimin e sekreteve variabël mjedisi; arka e CI-së suaj i injekton ato, ndërsa Restorm i lexon. Shihni Sekretet.

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

Dy qasje plotësuese:

  1. Një parametër skenari i tipizuar environment: --param Env=staging. I njëjti skenar punon kundrejt cilitdo cak.
  2. Parametra të thjeshtë: --param baseUrl=…, --param tenant=….

Shndërrimi ndjek tipin e deklaruar të parametrit dhe një shndërrim i pamundur e bën nisjen të dështojë menjëherë, në vend që të ekzekutohet me një vlerë të gabuar. Shihni Variablat dhe të dhënat.

--out run.log e shkruan regjistrin vazhdimisht. Publikojeni si artefakt, edhe kur puna dështon — pikërisht atëherë ai shërben.

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

Shkrimi i skenarëve të lexueshëm në CI

Section titled “Shkrimi i skenarëve të lexueshëm në CI”

Disa zakone që ndryshojnë gjithçka kur shfaqet një punë e kuqe në orën 3 të mëngjesit:

  • Mesazhe pohimi të qarta. Fusha message e veprimit Pohim është ajo që do të shfaqet brenda regjistrit: shkruani aty se çfarë pritej.
  • Regjistrim në hapat kyçe. Pa --all-logs, lëshohen vetëm zërat e veprimit Log: ky është fija juaj narrative.
  • Validim skeme në vend të pohimeve fushë pas fushe. Lidhni daljen errorsValido një skemë me një Log: merrni listën e saktë të shkeljeve.
  • Throw mbi daljet else kritike, që kodi i daljes ta pasqyrojë dështimin.
  • Retry rreth thirrjeve të paqëndrueshme të rrjetit, në vend që të pranoni teste të ndërprera. Shihni Kontrollin.

Zinxhironi pastrimin mbi portën done të skenarit kryesor: done pret që i gjithë nëngrafi të ketë përfunduar. Shihni Portat dhe lidhjet.

KurthiZgjidhja
Puna pret një hyrjeJepini të gjithë parametrat me --param; në headless, asgjë nuk mund të kërkohet
Një veprim Toast nuk shfaqetKjo është normale: ai nuk ka efekt në headless. Përdorni Log
Serveri MCP nuk shfaqetKjo është e qëllimshme: pa një ekran të vërtetë, ai nuk niset kurrë
Dalje 3Token-i ose plani — mesazhi saktëson cilin nga katër rastet
Skedari i projektit ka lëvizur--open pranon një shteg relativ ndaj depos: mbajeni relativ

Pipeline-t GitHub Actions dhe GitLab CI gjenden te Ekzekutimi headless dhe CI.