Gå til indhold

Introduktion til scenarier

Et scenarie er en graf. Bokse (handlingerne) forbindes af forbindelser, der transporterer værdier og signaler. Motoren udfører en boks, så snart alle dens tilkoblede indgange har modtaget noget.

Det er dette, der i Restorm erstatter de andre API-klienters scripts før og efter anmodningen — med en afgørende fordel: du ser flowet.

Højreklik i træstrukturen ▸ Tilføj ▸ Scenarie.

Et komplet scenarie i editoren: en Input/Param-knude, en HTTP-anmodning, en assertion på statuskoden, en Handlebars-udtrækning, en If-betingelse og en Log

  • Kæde kald sammen og sende en værdi fra det ene til det næste: opret en ressource, hent dens id, brug det i det følgende kald.
  • Kontrollere: assertioner, validering af JSON-skema, sammenligning.
  • Forgrene og gentage: if, switch, for, forEach, while, retry.
  • Orkestrere flere transporter: åbn et MQTT-abonnement, udløs en handling via HTTP, kontrollér at beskeden når frem.
  • Automatisere: det samme scenarie kører både i brugerfladen og uden vindue i continuous integration.
BegrebHvad det er
Boks (knude)En handling. Halvfems typer står til rådighed — se kataloget
PortEt forbindelsespunkt på en boks, typet og med en retning
Forbindelse (kant)En ledning mellem en udgangsport og en indgangsport
SelektorEn sti anvendt på værdien undervejs på en forbindelse (data.items[0].id)
KørselsvariabelEn navngiven værdi, som sættes og læses under kørslen
ParameterEn indgang til scenariet, som leveres ved starten eller på kommandolinjen
OutputEt resultat, der stilles til rådighed for den, der kalder scenariet

De står ikke i konfigurationen: de er en del af selve boksens ramme.

PortRetningRolle
inIndgangUdløseren. Den accepterer flere indgående forbindelser og venter da på, at alle er nået frem — det er barrieren »vent til flere grene er færdige«
errorUdgangFejlruten. Alt, hvad der går galt, går ud ad den vej
doneUdgangUdsendes, når boksen og hele dens efterfølgende delgraf er færdig

Forskellen mellem done og en værdiudgang er vigtig: en værdi kommer ud, så snart den er produceret, mens done venter på, at alt det, der afhænger af den, er færdigt.

  1. Tilføj en HTTP-anmodning-handling og knyt den til en eksisterende anmodning.
  2. Tilføj en Assert-handling med operatoren eq.
  3. Træk en forbindelse fra anmodningens response-port til assertionens a-indgang, og sæt selektoren status på den forbindelse.
  4. Sæt b til 200 i assertionen.
  5. Klik på Afspil.

Assertionen har to udgange, then og else: kobl en Log eller en Toast på hver af dem for at se resultatet komme igennem.