Logica- en luscontrollers
Implementeer logic controllers om de testflow te beheren en loop controllers voor herhaalde acties.
Logica- en luscontrollers is een gratis Loadtesten en prestatiebenchmarking (JMeter en k6)-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Loadtesten en prestatiebenchmarking (JMeter en k6). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.
Inleiding tot testprocesbesturing
Welkom! In deze les gaan we dieper in op Logic Controllers en Loop Controllers in JMeter. Met deze krachtige elementen bouw je realistischere en dynamischere prestatietestplannen.
Ze stellen je in staat de volgorde en frequentie van verzoeken te bepalen, zodat je complex gebruikersgedrag kunt simuleren in plaats van alleen een lineaire uitvoering.
Logic Controllers begrijpen
Logic Controllers in JMeter bepalen de volgorde waarin gebruikersverzoeken worden verwerkt. Ze voegen logica toe aan je testplan, zodat je voorwaardelijke uitvoering of een specifieke volgorde kunt instellen.
- Ze werken als "if-else"-instructies of "switch"-gevallen in programmeertalen.
- Ze zijn handig voor scenario's waarin acties afhangen van eerdere uitkomsten of gegevens.
Zie ze als het brein van je testscript, dat de uitvoeringsstroom aanstuurt.
Kennismaken met de If Controller
De If Controller is een fundamentele logische controller. Deze voert de onderliggende elementen (verzoeken of andere controllers) alleen uit als een opgegeven voorwaarde de waarde true oplevert.
- Doel: Voorwaardelijke acties simuleren, zoals een gebruiker die alleen op een knop "inloggen" klikt als die nog niet is ingelogd.
- Voorwaarde: Je definieert een voorwaarde met JMeter-functies of -variabelen, vaak als JavaScript- of Groovy-expressie.
Logica voor een If Controller opstellen
De voorwaarde voor een If Controller is een krachtige expressie. Vaak is het een booleaanse controle van een variabele of een antwoordwaarde.
Als je bijvoorbeeld alleen een verzoek wilt uitvoeren wanneer een variabele userStatus de waarde "new" heeft, kan je voorwaarde er zo uitzien:
${__groovy(vars.get("userStatus").equals("new"),)}Hiermee vertel je JMeter dat het de onderliggende elementen alleen moet uitvoeren als userStatus de waarde "new" heeft.
Loop Controllers begrijpen
Loop Controllers zijn bedoeld om een reeks acties een bepaald aantal keer of onbeperkt te herhalen. Ze zijn essentieel voor het simuleren van herhaald gebruikersgedrag.
- Doel: Acties simuleren zoals meerdere pagina's bekijken, verschillende items aan een winkelwagen toevoegen of herhaaldelijk zoeken.
- Ze bevatten sampler-verzoeken of andere controllers die meerdere keren moeten worden uitgevoerd.
De Loop Controller configureren
Wanneer je een Loop Controller aan je testplan toevoegt, geef je op hoe vaak de elementen erin moeten worden uitgevoerd. Je hebt twee belangrijke opties:
- Loop Count: Voer een positief geheel getal in om acties een vast aantal keer te herhalen (bijvoorbeeld
3om 3 items toe te voegen). - Forever: Vink dit vakje aan om de lus continu te laten uitvoeren. Dit wordt vaak gebruikt in combinatie met de duur of planner van een Thread Group.
De Loop Controller praktisch gebruiken
Stel je voor dat een gebruiker meerdere items aan een winkelwagen toevoegt. In plaats van verzoeken voor "Add to Cart" te dupliceren, kun je een Loop Controller gebruiken.
Je plaatst een HTTP Request sampler voor "Add to Cart" in de Loop Controller en stelt het aantal herhalingen bijvoorbeeld in op 5. Zo simuleer je efficiënt het toevoegen van 5 items.
Elke iteratie van de lus kan andere gegevens gebruiken (bijvoorbeeld uit een CSV Data Set Config), waardoor de simulatie zeer dynamisch wordt.
Controllers nesten voor complexiteit
Met JMeter kun je controllers nesten en zo geavanceerde testprocessen maken. Je kunt een Loop Controller in een If Controller plaatsen, of andersom.
- Loop in If: "Als de gebruiker premium is, doorloop dan 5 keer een speciale aanbieding."
- If in Loop: "Bekijk 10 keer items en klik op een item als het een 'uitgelicht product' is."
Dankzij deze mogelijkheid om controllers te nesten zijn je testplannen bijzonder flexibel en realistisch.
Tips voor effectief gebruik van controllers
Haal het meeste uit Logic en Loop Controllers met deze aanbevolen werkwijzen:
- Houd voorwaarden eenvoudig: Te complexe voorwaarden in een If Controller kunnen moeilijk te debuggen zijn.
- Gebruik variabelen: Sla dynamische waarden op in variabelen en verwijs ernaar in voorwaarden of loop counts.
- Voorkom te veel nesting: Te veel geneste controllers kunnen je testplan moeilijk leesbaar en onderhoudbaar maken.
- Voeg opmerkingen toe: Leg het doel van complexe controllerstructuren uit.
Test je kennis van controllers
Tijd voor een korte controle van wat je over JMeter-controllers hebt geleerd!
Controllers: een krachtige samenvatting
Goed gedaan! In deze les heb je kennisgemaakt met twee essentiële JMeter-besturingselementen:
- Logische besturingselementen: zoals het If Controller-besturingselement maken ze voorwaardelijke uitvoering mogelijk en beheren ze de stroom van je testplan.
- Herhalingsbesturingselementen: hiermee kun je acties een opgegeven aantal keer herhalen, zodat je herhaald gebruikersgedrag efficiënt simuleert.
Een goed begrip van deze besturingselementen is essentieel voor het opbouwen van geavanceerde, realistische en robuuste prestatietests in JMeter. Hierna bekijken we assertions!
Leer Loadtesten en prestatiebenchmarking (JMeter en k6) met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Logica- en luscontrollers” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Loadtesten en prestatiebenchmarking (JMeter en k6), waaronder “Logica- en luscontrollers”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.
Wat leer ik in “Logica- en luscontrollers”?
Implementeer logic controllers om de testflow te beheren en loop controllers voor herhaalde acties. Je oefent met Loadtesten en prestatiebenchmarking (JMeter en k6) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Loadtesten en prestatiebenchmarking (JMeter en k6) te beginnen?
Ervaring vooraf is niet nodig. Loadtesten en prestatiebenchmarking (JMeter en k6) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Logica- en luscontrollers”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Loadtesten en prestatiebenchmarking (JMeter en k6)?
Ja. Elke les over Loadtesten en prestatiebenchmarking (JMeter en k6) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Logica- en luscontrollers
- Assertions voor responsevalidatie
- Timers voor realistische timing
- Gedistribueerd testen met externe servers