Lasttestning och prestandamätning (JMeter och k6) · Lektion

Logik- och loopkontroller

Implementera logikkontroller för att styra testflödet och loopkontroller för upprepade åtgärder.

Lektion 1 av 411 steg

Logik- och loopkontroller är en gratis lektion i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lasttestning och prestandamätning (JMeter och k6), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.

Introduktion till styrning av testflöden

Välkomna! I den här lektionen går vi igenom Logic Controllers och Loop Controllers i JMeter. Dessa kraftfulla element hjälper er att bygga mer realistiska och dynamiska planer för prestandatester.

De gör det möjligt att styra ordningen och frekvensen för förfrågningar och simulera komplexa användarbeteenden bortom enkel linjär körning.

Förstå Logic Controllers

Logic Controllers i JMeter bestämmer i vilken ordning användarnas förfrågningar behandlas. De gör testplanen intelligentare genom att möjliggöra villkorad körning eller en specifik ordningsföljd.

  • De fungerar ungefär som "if-else"-satser eller "switch"-satser i programmering.
  • De är användbara i scenarier där åtgärder beror på tidigare resultat eller data.

Se dem som testskriptets hjärna, som styr flödet.

Introduktion till If Controller

If Controller är en grundläggande logikstyrenhet. Den kör sina underordnade element (förfrågningar eller andra controllers) endast om ett angivet villkor utvärderas till true.

  • Syfte: Simulera villkorade åtgärder, till exempel att en användare klickar på knappen "login" endast om användaren inte redan är inloggad.
  • Villkor: Ni definierar ett villkor med JMeter-funktioner eller variabler, ofta som ett JavaScript- eller Groovy-uttryck.

Skapa logik för If Controller

Villkoret för en If Controller är ett kraftfullt uttryck. Det är ofta en boolesk kontroll av en variabel eller ett svars värde.

Om ni till exempel vill köra en förfrågan endast när en variabel userStatus är "new" kan villkoret se ut så här:

${__groovy(vars.get("userStatus").equals("new"),)}

Detta talar om för JMeter att köra de underordnade elementen endast om userStatus är "new".

Förstå Loop Controllers

Loop Controllers är utformade för att upprepa en uppsättning åtgärder ett visst antal gånger eller obegränsat. De är viktiga för att simulera upprepade användarbeteenden.

  • Syfte: Simulera åtgärder som att bläddra bland flera sidor, lägga till flera artiklar i en varukorg eller utföra upprepade sökningar.
  • De innehåller sampler-förfrågningar eller andra controllers som behöver köras flera gånger.

Konfigurera Loop Controller

När ni lägger till en Loop Controller i testplanen anger ni hur många gånger dess innehåll ska köras. Ni har två huvudalternativ:

  • Loop Count: Ange ett positivt heltal för att upprepa åtgärder ett fast antal gånger (till exempel 3 för att lägga till 3 artiklar).
  • Forever: Markera den här rutan om loopen ska köras kontinuerligt. Detta används ofta tillsammans med en Thread Groups varaktighet eller schemaläggare.

Praktisk användning av Loop Controller

Föreställ er att en användare lägger till flera artiklar i en varukorg. I stället för att duplicera förfrågningar av typen "Add to Cart" kan ni använda en Loop Controller.

Ni placerar en HTTP Request Sampler av typen "Add to Cart" inuti Loop Controller och anger exempelvis loop count 5. På så sätt simuleras effektivt att 5 artiklar läggs till.

Varje iteration i loopen kan använda olika data (till exempel från en CSV Data Set Config), vilket gör flödet mycket dynamiskt.

Kapsla controllers för ökad komplexitet

JMeter låter er kapsla controllers i varandra och skapa avancerade testflöden. Ni kan placera en Loop Controller i en If Controller eller tvärtom.

  • Loop inuti If: "Om användaren är premium, kör sedan en loop 5 gånger genom ett specialerbjudande."
  • If inuti Loop: "Kör en loop 10 gånger för att bläddra bland artiklar och klicka på en artikel om den är en 'featured product'."

Denna möjlighet att kapsla controllers gör testplanerna mycket flexibla och realistiska.

Tips för effektiv användning av controllers

För att få ut så mycket som möjligt av Logic och Loop Controllers bör ni följa dessa rekommendationer:

  • Håll villkoren enkla: Alltför komplexa villkor i If Controller kan vara svåra att felsöka.
  • Använd variabler: Spara dynamiska värden i variabler och referera till dem i villkor eller loop counts.
  • Undvik överdriven kapsling: För många kapslade controllers kan göra testplanen svår att läsa och underhålla.
  • Lägg till kommentarer: Förklara syftet med komplexa controller-strukturer.

Testa era kunskaper om controllers

Dags för en snabb kontroll av vad ni har lärt er om JMeter-controllers!

Controllers: en kraftfull sammanfattning

Bra jobbat! I den här lektionen har du lärt dig om två viktiga JMeter-controllers:

  • Logic Controllers: Precis som If Controller möjliggör de villkorsstyrd körning och hanterar flödet i din testplan.
  • Loop Controllers: De låter dig upprepa åtgärder ett angivet antal gånger och simulera upprepade användarbeteenden på ett effektivt sätt.

Att behärska dessa controllers är viktigt för att kunna bygga avancerade, realistiska och robusta prestandatester i JMeter. Nu ska vi utforska Assertions!

Gratis att börja

Lär dig Lasttestning och prestandamätning (JMeter och k6) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Logik- och loopkontroller” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lasttestning och prestandamätning (JMeter och k6), inklusive ”Logik- och loopkontroller”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.

Vad lär jag mig i ”Logik- och loopkontroller”?

Implementera logikkontroller för att styra testflödet och loopkontroller för upprepade åtgärder. Ni övar på Lasttestning och prestandamätning (JMeter och k6) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Lasttestning och prestandamätning (JMeter och k6)?

Du behöver inga förkunskaper. Utbildningen i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Logik- och loopkontroller”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Lasttestning och prestandamätning (JMeter och k6)-lektionen?

Ja. Varje Lasttestning och prestandamätning (JMeter och k6)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Logik- och loopkontroller
  2. Påståenden för validering av svar
  3. Timers för realistisk pacing
  4. Distribuerad testning med fjärrservrar
← Tillbaka till Lasttestning och prestandamätning (JMeter och k6)