Gå til indhold

Byg et scenarie

Lærredet i midten, tilføjelsespaletten og inspektøren rundt om. Bokse flyttes med musen, og visningen kan panoreres og zoomes.

Scenarieeditoren med tilføjelsespaletten åben: de gængse bokse øverst, derefter kategorierne Tilføj, Lister, Loops, Timer, Matematik, Algoritmik, Dataformater, Kodning, UX

Fra paletten, som er inddelt i kategorier: kontrol, sammensætning (anmodninger og forbindelser), lister, løkker, tid, matematik, algoritmik, dataformater, kodning, brugerflade, hjælpeværktøjer.

En handling, der er knyttet til en anmodning (HTTP-anmodning, SOAP-anmodning, samtlige forbindelseshandlinger), beder dig udpege den anmodning i projektet, som den styrer.

At udpege en anmodning i en handling skaber et stærkt bånd: handlingen refererer til anmodningen ved dens id, ikke ved en kopi. Konsekvenserne:

  • anmodningen forbliver delt — ændrer du den (URL, headere, body), ændrer du, hvad alle de scenarier, der bruger den, kører næste gang;
  • båndet overlever, at anmodningen omdøbes eller flyttes i træstrukturen: det bygger hverken på navnet eller på stien;
  • fra anmodningen har smartbaren en knap »Bruges i scenarier« — den viser de scenarier, der kalder anmodningen, og lader dig springe derhen. Det er refleksen, du skal have inden du ændrer en delt anmodning;
  • en manglende anmodning (slettet eller fraværende, da projektet blev åbnet) får valideringen af scenariet til at fejle: afspilningsknappen forbliver låst, og den fejlbehæftede boks markeres — aldrig et scenarie, der går i stykker i stilhed.

Vil du køre den samme anmodning igen uden at røre dens gemte version, så lad være med at ændre den: brug tilsidesættelserne (hurtigindstilling, handlingstilsidesættelser, forbindelse), som er beskrevet i Tilsidesæt en anmodning.

Hver boks har sine felter, som udfyldes direkte på boksen eller i inspektøren. Felterne accepterer typede værdier — streng, tal, boolesk, dato, Handlebars-udtryk, variabel, brugerdefineret liste, hemmelighed … — se Variabler og miljøer.

Ctrl+Space starter autofuldførelsen af variabler og helpers i de felter, der understøtter den.

Træk fra en udgangsport til en indgangsport.

To regler, du bør kende:

  1. En indgangsport accepterer kun én forbindelse — undtagen porten in, som accepterer lige så mange, du vil, og så fungerer som barriere.
  2. En udgang med et rent signal kan ikke fodre en indgang med en ren værdi. Alt andet er tilladt: en udgang, der bærer en værdi, fungerer også som udløser.

Detaljer: Porte og forbindelser.

En forbindelse kan bære en selektor: en sti anvendt på den værdi, der er undervejs.

data.items[0].id
body['user-id']
status

Det er dette, der sparer dig for at indskyde en transformationsboks mellem hvert kald og dets forbruger. Selektoren sættes, når forbindelsen oprettes, eller senere; tømmer du den, fjernes den.

En handling, der er knyttet til en anmodning, kan ændre den uden at røre selve anmodningen. Fire lag, i denne rækkefølge:

  1. anmodningen, som den er gemt;
  2. en hurtigindstilling (quick config), der udpeges på handlingen — sådan genbruger du en gemt variant af en anmodning direkte i et scenarie uden at indtaste den igen;
  3. de tilsidesættelser, der er skrevet på handlingen;
  4. den værdi, der ankommer via en forbindelse på tilsidesættelsesporten.

Det er den rene måde at køre det samme kald igen med tre datasæt.

En boks’ kontekstmenu tilbyder »Gentag ved hver modtaget hændelse«. Slås den til, forvandler den alle tilkoblede indgange til ikke-blokerende »eller«-porte: boksen udløses igen ved hver værdi, der modtages på en vilkårlig port, i stedet for at vente på, at de alle er der.

Det er uundværligt, når du behandler en strøm (hver MQTT-besked, hver SSE-hændelse), og det er også dét, der låser en færdiggørelsescyklus op.

  • En Input / Param-boks erklærer scenariets parametre. De leveres ved starten, på kommandolinjen (--param name=value) eller udbedes under kørslen i interaktiv tilstand.
  • En Output / Return-boks stiller et resultat til rådighed for den kaldende — nyttigt, når scenariet kaldes af et andet via handlingen Kør scenarie.

Restorm kan rydde op i en graf automatisk (layout); bagefter kan boksene stadig flyttes i hånden. Ctrl+Z fortryder, Ctrl+Shift+Z gendanner.

Afspilningsknappen er låst, så længe der er valideringsfejl tilbage: ugyldig forbindelse, manglende anmodning, tomt obligatorisk felt. De fejlbehæftede bokse markeres.