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

Indholdsfortegnelse:

Anonim

Hvad er Logic Controller?

Logiske controllere giver dig mulighed for at definere rækkefølgen af ​​behandlingsanmodningen i en tråd. Det giver dig mulighed for at styre "hvornår" du skal 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, i hvilken brugeranmodning udføres.

Nogle almindeligt anvendte logiske controllere er nedenfor:

Optagecontroller:

JMeter kan registrere dine testtrin; en optagecontroller er en pladsholder til at gemme disse optagelsestrin.

Enkel controller:

Simple Controller er bare en container til brugeranmodning.

Loop Controller:

Loop Controller får brugeranmodningen til at køre et bestemt antal gange eller køre for evigt som vist i figur:

Tilfældig controller:

Random Controller får alle brugeranmodninger til at køre i tilfældig rækkefølge i hver loopperiode.

For eksempel har du 3 brugeranmodninger til webstedet http://www.google.com i følgende rækkefølge:

  1. HTTP-anmodning
  2. FTP-anmodning
  3. JDBC anmodning

Disse 3 anmodninger skal køre 5 gange. I alt 15 brugeranmodninger sendes til Google-serveren af ​​JMeter.

I sekventiel rækkefølge sendes anmodninger sekventielt i følgende rækkefølge:

HTTP-anmodning -> FTP-anmodning-> JDBC-anmodning

for hver løkke.

I tilfældig rækkefølge sendes anmodninger som tilfældigt,

FTP-anmodning -> HTTP-anmodning-> JDBC-anmodning

Eller

JDBC-anmodning -> FTP-anmodning-> HTTP-anmodning

For hver løkke.

Modulcontroller:

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 (dvs. Logon, Opret konto, Log af ...). Denne funktionalitet kan gemmes i Simple Controller som "moduler". Module Controller vælger hvilket modul der skal køre.

Overvej følgende scenarie -

Du vil simulere:

  • 50 brugere logger ud ,
  • 100 brugere logger ind
  • 30 brugere søger på www.google.com

Du kan bruge JMeter til at oprette 3 moduler. Hvert modul simulerer hver brugeraktivitet: Login, Logout og Search.

Modulcontrolleren vælger, hvilket modul der skal køre.

Andre vigtige controllere:

  • Interleave Controller: samler op og får en af brugeranmodninger til at køre i hver tråd i tråden.
  • Runtime Controller: styrer, hvor længe børnene må løbe.

Hvis du f.eks. Har angivet Runtime Controller 10 sekunder, kører JMeter din test i 10 sekunder.

  • Transaktionskontrol : måler den samlede tid, det tager at afslutte en testudførelse
  • Inkluder 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 Performance Testing.

Loop Controller Eksempel

Dette afsnit viser dig trin-for-trin instruktion til at tilføje Loop Controller indstillet til din nuværende præstationsplan.

Loop Controller får samplerne til at køre et bestemt antal gange ud over den loopværdi, du har angivet for trådgruppen. For eksempel hvis du

  • Føj en HTTP-anmodning til en loop-controller med et loop-antal 50
  • Konfigurer trådgruppens løftælling til 2
  • Derefter sender JMeter i alt 50 * 2 = 100 HTTP-anmodninger.

Dette er køreplanen for dette eksempel:

Trin 1) Konfigurering af trådgruppe

Vi genbruger trin 1, 2 i tutorial JMeter Performance Testing.

  1. Tilføj trådgruppe

Højreklik på testplanen, og tilføj en ny trådgruppe: Tilføj -> Tråde (brugere) -> Trådgruppe

Men i trådgruppens kontrolpanel skal du indtaste trådegenskaber som følger:

Det foretager en brugeranmodning til webserveren google.com og kører den 2 gange.

  1. Tilføj JMeter-elementer

Tilføj HTTP-anmodning som standard til www.google.com.

  1. Tilføjelse af loop-controller

Højreklik Trådgruppe -> Logic Controller -> Loop Controller

Trin 2) Konfigurering af loop-controller

Tilføj værdi 50 til Loop Count-feltet som nedenstående figur. Det vil få en brugeranmodning til webserveren google.com til at køre den 50 gange, ud over den loopværdi = 2, du har angivet for trådgruppen ovenfor. Så JMeter sender 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 til at tilføje visningsresultater 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 simulerer JMeter en brugeranmodning, der sendes 100 gange, til webserveren http://www.google.com/. Testen stoppes, efter at en brugeranmodning blev sendt 100 gange.

Fejlfinding:

  1. Hvis du står over for problemet, mens du kører ovenstående scenario ... gør følgende
  2. Kontroller, om du opretter forbindelse til internettet via en proxy. Hvis ja, skal du fjerne proxyen.
  3. Åbn en ny forekomst af Jmeter
  4. Åbn ControllerTestPlan.jmx i Jmeter
  5. Klik på trådgruppe -> Se resultat i tabel
  6. Kør testen