Omgaan met dynamische waarden (correlatie)
Leer dynamische waarden uit serverreacties te extraheren en opnieuw te gebruiken met Regular Expression Extractors.
Omgaan met dynamische waarden (correlatie) is een gratis Loadtesten en prestatiebenchmarking (JMeter en k6)-les op CoddyKit. Dit is les 2 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.
Dynamische waarden uitgelegd
Wanneer je met een webtoepassing werkt, zijn veel waarden in de reacties van de server niet statisch. Deze worden dynamische waarden genoemd.
Ze veranderen per gebruiker, sessie of zelfs per aanvraag. Je kunt ze zien als tijdelijke sleutels die de server aan je geeft.
- Sessie-ID's
- Authenticatietokens
- CSRF-tokens
Waarom correlatie essentieel is
Als je prestatietest alleen aanvragen opneemt en opnieuw afspeelt, mislukt deze vaak. Waarom?
Omdat de opgenomen aanvragen oude, ongeldige dynamische waarden bevatten. De server weigert ze, omdat deze denkt dat je geen legitieme gebruiker of sessie bent.
Correlatie is het proces waarbij je deze dynamische waarden uit één reactie haalt en in volgende aanvragen opnieuw gebruikt.
Kennismaking met de Regex Extractor
JMeter biedt een krachtig hulpmiddel voor het verwerken van dynamische waarden: de Regular Expression Extractor.
Met dit Post-Processor-onderdeel kun je een patroon (een reguliere expressie) definiëren om in een serverreactie te zoeken en specifieke gegevens vast te leggen.
Het is alsof je tegen JMeter zegt: "Zoek dit patroon en pak wat er tussen deze haakjes staat!"
Hoe extractie werkt
Dit is de basisstroom voor het gebruik van een Regular Expression Extractor:
- Aanvraag verzenden: Je JMeter-sampler stuurt een aanvraag naar de server.
- Reactie ontvangen: De server stuurt een reactie terug die de dynamische waarde bevat.
- Waarde extraheren: De Regular Expression Extractor zoekt in de reactie naar het door jou gedefinieerde patroon.
- Waarde opslaan: De extractor legt de dynamische gegevens vast en slaat ze op in een JMeter-variabele.
- Waarde opnieuw gebruiken: Vervolgens gebruik je deze variabele in volgende aanvragen.
Basisprincipes van regex voor extractie
Een Regular Expression (Regex) is een reeks tekens die een zoekpatroon definieert. Voor extractie gebruik je vaak:
.(punt): komt overeen met één willekeurig teken.*(asterisk): komt overeen met nul of meer exemplaren van het voorafgaande teken.?(vraagteken): maakt de voorafgaande kwantificeerder (zoals*) niet-gretig, zodat de kleinst mogelijke tekenreeks wordt gevonden.()(haakjes): worden gebruikt om het deel van de tekenreeks dat je wilt extraheren vast te leggen.
Voer dit eenvoudige JavaScript-voorbeeld uit om regex in actie te zien:
function extractId(text) {
// Regex to find "id=" followed by one or more digits
// and capture the digits.
const regex = /id=(\d+)/;
const match = text.match(regex);
return match ? match[1] : null;
}
console.log("Extracted ID:", extractId("user?id=123&name=test"));
console.log("Extracted ID:", extractId("product?id=456"));
console.log("Extracted ID:", extractId("no_id_here"));De extractor toevoegen
In JMeter is de Regular Expression Extractor een Post-Processor. Dit betekent dat de extractor wordt uitgevoerd nadat een sampler (aanvraag) is voltooid, maar voordat de resultaten worden vastgelegd.
Zo voeg je de extractor toe:
- Klik met de rechtermuisknop op de HTTP Request (of een andere sampler) die de dynamische waarde ontvangt.
- Ga naar Add > Post-Processors > Regular Expression Extractor.
De extractor wordt een onderliggend element van die specifieke aanvraag.
Extractor configureren
De Regular Expression Extractor bevat verschillende belangrijke velden:
- Reference Name: De naam van de JMeter-variabele waarin de geëxtraheerde waarde wordt opgeslagen (bijvoorbeeld
sessionId). - Regular Expression: Het daadwerkelijke regex-patroon waarop wordt gezocht (bijvoorbeeld
name="sessionId" value="(.+?)"). - Template: De manier waarop de waarde wordt samengesteld. Gebruik
$1$voor de eerste vastgelegde groep,$2$voor de tweede, enzovoort. - Match No.: Welke overeenkomst moet worden gebruikt als er meerdere zijn?
0voor een willekeurige,1voor de eerste en-1voor alle overeenkomsten (maakt meerdere variabelen aan). - Default Value: Een waarde die wordt toegewezen als de regex geen overeenkomst vindt.
De geëxtraheerde variabele gebruiken
Nadat de Regular Expression Extractor een waarde in een variabele heeft opgeslagen (bijvoorbeeld sessionId), kun je deze in elke volgende JMeter-sampler of elk volgend onderdeel gebruiken.
Gebruik de syntaxis ${ReferenceName} om naar de variabele te verwijzen.
Als je bijvoorbeeld een sessie-ID in sessionId hebt geëxtraheerd, kun je ${sessionId} gebruiken in de hoofdtekst of het URL-pad van een vervolgaanvraag.
Een correlatiescenario
Bekijk de volgende loginreeks:
- Aanvraag 1 (login): Verzendt de gebruikersnaam en het wachtwoord.
- Reactie 1: Bevat een
CSRF_Tokenin een verborgen veld. - Regex Extractor: Extraheert
CSRF_Tokenuit Reactie 1 en slaat deze op in${csrfToken}. - Aanvraag 2 (formulier verzenden): Gebruikt
${csrfToken}in de hoofdtekst van de aanvraag of in de URL-parameters.
Zo gedraagt je testscript zich als een echte gebruiker die het dynamische token meestuurt.
Test je kennis van regex
Stel je voor dat een serverreactie het volgende HTML-fragment bevat:
<input type="hidden" name="token" value="abc123xyz456" />Je wilt de waarde abc123xyz456 extraheren naar een JMeter-variabele met de naam authToken.
Welke combinatie van Regular Expression en Template moet je gebruiken in de Regular Expression Extractor?
Samenvatting: correlatie beheersen
Goed gedaan! Je hebt de essentiële vaardigheid van correlatie in JMeter geleerd.
- Dynamische waarden vereisen een speciale verwerking om testfouten te voorkomen.
- De Regular Expression Extractor is hiervoor het belangrijkste hulpmiddel van JMeter.
- Je definieert een regex-patroon om specifieke gegevens uit serverreacties vast te leggen.
- Geëxtraheerde waarden worden opgeslagen in JMeter-variabelen zodat je ze in volgende aanvragen opnieuw kunt gebruiken.
Met deze techniek worden je prestatietests robuust en realistisch. Vervolgens bekijken we meer JMeter-functies en -variabelen voor nog flexibelere scripts!
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 “Omgaan met dynamische waarden (correlatie)” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Loadtesten en prestatiebenchmarking (JMeter en k6), waaronder “Omgaan met dynamische waarden (correlatie)”, 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 “Omgaan met dynamische waarden (correlatie)”?
Leer dynamische waarden uit serverreacties te extraheren en opnieuw te gebruiken met Regular Expression Extractors. 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 2 van 4.
Hoe lang duurt de les “Omgaan met dynamische waarden (correlatie)”?
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
- Parametrisering met CSV-gegevens
- Omgaan met dynamische waarden (correlatie)
- JMeter-functies en variabelen
- Databasetests met JDBC