Hva er Logic Controller?
Logikkontrollere lar deg definere rekkefølgen på behandlingsforespørselen i en tråd. Den lar deg kontrollere "når" du skal sende en brukerforespørsel til en webserver. For eksempel kan du bruke Tilfeldige kontrollere for å sende HTTP-forespørsler til serveren tilfeldig
Logikkontrollere bestemmer rekkefølgen som brukerforespørselen utføres i.
Noen vanlige logiske kontrollere er nedenfor:
Opptakskontroller:
JMeter kan registrere testtrinnene dine; en opptakskontroll er en plassholder for å lagre disse opptakstrinnene.
Enkel kontroller:
Simple Controller er bare en beholder for brukerforespørsel.
Loop Controller:
Loop Controller gjør at brukerforespørselen kjører et spesifisert antall ganger eller kjører for alltid som vist i figuren:
Tilfeldig kontroller:
Random Controller gjør at alle brukerforespørslene kjøres i tilfeldig rekkefølge i hver loopperiode.
For eksempel har du tre brukerforespørsler til nettstedet http://www.google.com i følgende rekkefølge:
- HTTP-forespørsel
- FTP-forespørsel
- JDBC forespørsel
Disse 3 forespørslene skal kjøre 5 ganger. Totalt 15 brukerforespørsler vil bli sendt til Google-serveren av JMeter.
I sekvensiell rekkefølge sendes forespørsler sekvensielt i følgende rekkefølge:
HTTP-forespørsel -> FTP-forespørsel -> JDBC-forespørsel
for hver løkke.
I tilfeldig rekkefølge sendes forespørsler som tilfeldig,
FTP-forespørsel -> HTTP-forespørsel-> JDBC-forespørsel
Eller
JDBC-forespørsel -> FTP-forespørsel-> HTTP-forespørsel
For hver løkke.
Modulkontroller:
Målet med Module Controller er å legge til JMeter modularitet.
Den generelle ideen er at nettapplikasjoner består av små funksjonalitetsenheter (dvs. pålogging, opprett konto, avlogging ...). Denne funksjonaliteten kan lagres i Simple Controller som "moduler". Module Controller velger hvilken modul som skal kjøres.
Tenk på følgende scenario -
Du vil simulere:
- 50 brukere logger ut ,
- 100 brukere logger på
- 30 brukere søker på www.google.com
Du kan bruke JMeter til å lage 3 moduler. Hver modul simulerer hver brukeraktivitet: Pålogging, Logg ut og Søk.
Modulkontrolleren velger hvilken modul som skal kjøres.
Andre viktige kontrollere:
- Interleave Controller: plukker opp og gjør en av brukerforespørsler kjørt i hver løkke av tråden.
- Runtime Controller: styrer hvor lenge barna har lov til å løpe.
For eksempel, hvis du spesifiserte Runtime Controller 10 sekunder, vil JMeter kjøre testen din i 10 sekunder.
- Transaksjonskontroller : måler den totale tiden det tar å fullføre en testutføring
- Inkluder kontroller: er designet for å bruke en ekstern testplan. Denne kontrolleren lar deg bruke flere testplaner i JMeter. Se detaljer i JMeter Performance Testing.
Loop Controller Eksempel
Denne delen viser deg trinnvis instruksjon om hvordan du legger til Loop Controller- sett til gjeldende ytelsestestplan.
Loop Controller får samplerne til å løpe et visst antall ganger, i tillegg til sløyfeverdien du spesifiserte for trådgruppen. For eksempel hvis du
- Legg til en HTTP-forespørsel til en loopkontroller med en loop count 50
- Konfigurer løpeantallet for trådgruppen til 2
- Deretter vil JMeter sende totalt 50 * 2 = 100 HTTP-forespørsler.
Dette er veikartet for dette eksemplet:
Trinn 1) Konfigurere trådgruppen
Vi bruker trinn 1, 2 i opplæringen JMeter Performance Testing på nytt.
-
Legg til trådgruppe
Høyreklikk på testplanen og legg til en ny trådgruppe: Legg til -> Tråder (brukere) -> Trådgruppe
Men i trådgruppens kontrollpanel, skriv inn trådegenskaper som følger:
Det vil gjøre en brukerforespørsel til webserveren google.com og kjøre den to ganger.
-
Legg til JMeter-elementer
Legg til HTTP-forespørsel som standard på www.google.com.
-
Legge til loopkontroller
Høyreklikk trådgruppe -> Logic Controller -> Loop Controller
Trinn 2) Konfigurere loopkontroller
Legg til verdi 50 i Loop Count-feltet som under figuren. Det vil gjøre en brukerforespørsel til webserveren google.com kjøre den 50 ganger, i tillegg til sløyfeverdien = 2, du spesifiserte for trådgruppen ovenfor. Så JMeter vil sende totalt 2 * 50 = 100 HTTP-forespørsler.
Høyreklikk Loop Controller, Legg til -> Sampler -> HTTP-forespørsel
Trinn 3) Legg til visningsresultater i tabell
Vi bruker trinn 2 i tidtakeren på nytt for å legge til visningsresultater i tabellen
Så testplanen er vist i figuren nedenfor
Trinn 4) Kjør testen
Nå returner Vis resultater i tabell, klikk Start-knappen på menylinjen (Ctrl + R) for å kjøre en test
Som vist i figuren nedenfor, simulerer JMeter en brukerforespørsel, som sendes 100 ganger, til webserveren http://www.google.com/. Testen stoppes etter at en brukerforespørsel ble sendt inn 100 ganger.
Feilsøking:
- Hvis du møter problemet mens du kjører scenariet ovenfor ... gjør du følgende
- Sjekk om du kobler til internett via en proxy. Hvis ja, fjern fullmakten.
- Åpne en ny forekomst av Jmeter
- Åpne ControllerTestPlan.jmx i Jmeter
- Klikk på Trådgruppe -> Vis resultat i tabell
- Kjør testen