Controllere i JMeter: Loop, Simple, Transaction, Module, Random
Hvad er den logiske controller?
Logik-controllere lader dig definere rækkefølgen af behandlingsanmodningen i en tråd. Det lader dig styre "hvornår" du vil sende en brugeranmodning til en webserver. For eksempel kan du bruge tilfældige controllere til at sende HTTP-anmodninger til serveren tilfældigt
Logiske controllere bestemmer rækkefølgen hvor brugeranmodningen udføres.
Nogle almindeligt anvendte Logic-controllere er nedenfor:
Optagelsescontroller
JMeter kan optage din Test trin; en optagecontroller er en pladsholder for at gemme disse optagelsestrin.
Simpel controller
Simple Controller er bare en container for brugerens anmodning.
Loop -controller
Loop Controller får brugeranmodningen til at køre et bestemt antal gange eller løbe evigt som vist på figuren:
Tilfældig controller
Random Controller får alle brugeranmodninger til at køre ind det tilfældige rækkefølge i hver sløjfeperiode.
For eksempel har du 3 brugeranmodninger til hjemmesiden http://www.google.com i følgende rækkefølge:
- HTTP-anmodning
- FTP anmodning
- JDBC anmodning
Disse 3 anmodninger skal køre 5 gange. I alt 15 brugeranmodninger vil blive sendt til Googles server af JMeter.
In sekventiel bestilling sendes anmodninger sekventielt i følgende rækkefølge:
HTTP-anmodning ->FTP-anmodning->JDBC-anmodning
for hver sløjfe.
In tilfældig ordre, anmodninger sendes som tilfældigt,
FTP-anmodning ->HTTP-anmodning->JDBC-anmodning
Or
JDBC-anmodning ->FTP-anmodning->HTTP-anmodning
For hver sløjfe.
Modul controller
Målet med Module Controller er at tilføje modularitet til JMeter.
Den generelle idé er, at webapplikationer består af små enheder af funktionalitet (f.eks. Logon, Create Account, Logoff...). Denne funktionalitet kan gemmes i Simpel controller som "moduler". Modul Controller vil vælge hvilket modul der skal køre.
Overvej følgende scenarie -
Du ønsker at simulere:
- 50 brugere logger ud,
- 100 brugere logger ind
- 30 brugere søge www.google.com
Du kan bruge JMeter at oprette 3 moduler. Hvert modul simulerer hver brugeraktivitet: Login, Log ud og Søg.
Modulcontrolleren vælger, hvilket modul der skal køre.
Andre vigtige controllere
- Indfletter Controller: samler op og laver en af brugeranmodning kørt ind hver løkke af tråden.
- Runtime Controller: kontroller hvor længe dens børn får lov at løbe.
For eksempel, hvis du har angivet Runtime Controller 10 sekunder, JMeter vil køre din test i 10 sekunder.
- transaktion Controller: måler samlet tid taget til slut en testudførelse
- Medtag Controller: er designet til at bruge en ekstern testplan. Denne controller giver dig mulighed for at bruge flere testplaner i JMeter. Se detaljer i JMeter Test af ydeevne.
Eksempel på sløjfecontroller
Dette afsnit viser dig trin-for-trin instruktioner til at tilføje Loop -controller indstillet til din nuværende præstationstestplan.
Loop-controlleren får samplerne til at køre som et bestemt antal gange, ud over den loop-værdi, du har angivet for trådgruppen. Hvis du f.eks
- Tilføj en HTTP-anmodning til en loop-controller med et loop-antal på 50
- Konfigurer trådgruppeløkketællingen til 2
- Derefter JMeter vil sende i alt 50 * 2 = 100 HTTP-anmodninger.
Dette er den køreplan af dette eksempel:
Trin 1) Konfiguration af trådgruppe
We genbruge trin 1, 2 i selvstudiet JMeter Test af ydeevne.
-
Tilføj trådgruppe
Højreklik på Testplan og tilføj en ny trådgruppe: Tilføj-> Tråde (brugere) ->Trådgruppe
Men i trådgruppekontrolpanelet skal du indtaste trådegenskaber som følger:
Det vil gøre en brugeranmodning til webserveren google.com og kør den 2 gange.
-
Tilføj JMeter elementer
Tilføj HTTP-anmodningsstandard til www.google.com.
-
Tilføjelse af loop-controller
Højreklik på trådgruppe -> Logisk controller -> løkkecontroller
Trin 2) Konfiguration af Loop Controller
Tilføj værdi 50 til feltet Loop Count som nedenstående figur. Det vil gøre en brugeranmodning til webserveren google.com Kør det 50 gange, ud over sløjfeværdien =2, du specificerede for trådgruppen ovenfor. Altså JMeter vil sende i alt 2 * 50 = 100 HTTP-anmodninger.
Højreklik på Loop Controller, Tilføj -> Sampler -> HTTP-anmodning
Trin 3) Tilføj visningsresultater i tabel
Vi genbruger trin 2 i timer for at tilføje Vis resultater i tabel
Så testplanen er vist i nedenstående figur
Trin 4) Kør din test
Returner nu Vis resultater i tabel, klik på Start-knappen på menulinjen (Ctrl+R) for at køre en test
Som vist i figuren nedenfor, JMeter simulerer en brugeranmodning, som sendes 100 gange, til webserveren http://www.google.com/. Testen stoppes, efter at en brugeranmodning er sendt ind 100 gange.
Fejlfinding
- Hvis du står over for problemet, mens du kører ovenstående scenarie ... gør følgende
- Kontroller, om du opretter forbindelse til internettet via en proxy. Hvis ja, fjern proxyen.
- Åbn en ny forekomst af Jmeter
- Åbne ControllerTestPlan.jmx i Jmeter
- Klik på Trådgruppe -> Vis resultat i tabel
- Kør testen