Kontrollere i JMeter: Loop, Simple, Transaction, Module, Random

Innholdsfortegnelse:

Anonim

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:

  1. HTTP-forespørsel
  2. FTP-forespørsel
  3. 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.

  1. 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.

  1. Legg til JMeter-elementer

Legg til HTTP-forespørsel som standard på www.google.com.

  1. 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:

  1. Hvis du møter problemet mens du kjører scenariet ovenfor ... gjør du følgende
  2. Sjekk om du kobler til internett via en proxy. Hvis ja, fjern fullmakten.
  3. Åpne en ny forekomst av Jmeter
  4. Åpne ControllerTestPlan.jmx i Jmeter
  5. Klikk på Trådgruppe -> Vis resultat i tabell
  6. Kjør testen