Aller au contenu

Kontrola

Pet kutija upravlja tokom izvršavanja scenarija.

Podsetnik: svaka kutija ima i implicitne portove in, error i done — vidite Portovi i veze.

Deklariše parametre scenarija.

Ulazinema
Izlazivaluejedan jedini objekat { ime: vrednost, … }
Konfiguracijaname (naziv parametra), valueType (njegov tip i podrazumevana vrednost)

Vrednosti se dostavljaju pri pokretanju, preko --param ime=vrednost u komandnoj liniji, ili se traže interaktivno ako izvršavanje stigne do kutije bez dostupne vrednosti.

Ulaz „baseUrl” (niska) ──► port env zahteva

Izlaže rezultat pozivaocu scenarija.

Ulazivalue
Izlazinema — to je ponor: ni error, ni done
Konfiguracijaname

Scenario koji poziva akcija Pokreni scenario čini svaki svoj izlaz dostupnim na portu output:<ime> pozivaoca.

Grananje sa dva puta.

Ulazileft, right
Izlazithen, else
Konfiguracijaoperator: lt, lte, eq, gte, gt, ne, contains — plus left i right kao doslovne vrednosti

Savet: ako nijedan operand nije povezan ni popunjen, kutija jednostavno ispituje istinitost signala primljenog na in. To je „ako smo dospeli dovde” bez izričitog uslova.

Grananje sa N puteva.

Ulazion
Izlazipo jedan port case-<id> za svaki deklarisani slučaj, plus default
Konfiguracijacases: lista { id, value }

Bolje od kaskade If-ova čim postoji više od dva ishoda: svaki slučaj je zasebna žica, vizuelno čitljiva.

Granica oporavka od greške.

UlazimaxAttempts, delay
Izlaziattempt (svaki pokušaj), exhausted (pokušaji iscrpljeni)
Konfiguracijavidite ispod
PoljePodrazumevanoUloga
maxAttempts3Najveći broj pokušaja
backofffixedfixed, linear ili exponential
delay + delayUnitOsnovno kašnjenje (ms, s, min)
factor2Faktor rasta u eksponencijalnom režimu
maxDelay + maxDelayUnitGornja granica kašnjenja
retryOnErrortruePonoviti pri grešci
retryOnFailurefalsePonoviti pri poslovnom neuspehu
retryOnStatusLista HTTP statusa, na primer [429, 503]

Podgraf povezan na attempt čini opseg koji se ponavlja. U slučaju uspeha izlaz ide preko done. Ova kutija nema port error: ona je sama granica.

Retry (3, eksponencijalno, [429,503])
├─ attempt ──► HTTP zahtev ──► Assert
└─ exhausted ──► Throw „servis nedostupan”