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:

Den logiske controller

Optagelsescontroller

JMeter kan optage dine Test trin; en optagecontroller er en pladsholder for at gemme disse optagelsestrin.

Optagelsescontroller

Simpel controller

Simple Controller er bare en container for brugerens anmodning.

Simpel controller

Loop -controller

Loop Controller fรฅr brugeranmodningen til at kรธre et bestemt antal gange eller lรธbe evigt som vist pรฅ figuren:

Loop -controller

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:

  1. HTTP-anmodning
  2. FTP anmodning
  3. 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.

Tilfรฆldig controller

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.

Modul controller

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.

Modul controller

Modulcontrolleren vรฆlger, hvilket modul der skal kรธre.

Modul controller

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.

Andre vigtige controllere

  • 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:

Eksempel pรฅ slรธjfecontroller

Trin 1) Konfiguration af trรฅdgruppe

We genbruge trin 1, 2 i selvstudiet JMeter Test af ydeevne.

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

Tilfรธj trรฅdgruppe

Det vil gรธre en brugeranmodning til webserveren google.com og kรธr den 2 gange.

  1. Tilfรธj JMeter elementer

Tilfรธj HTTP-anmodningsstandard til www.google.com.

  1. Tilfรธjelse af loop-controller

Hรธjreklik pรฅ trรฅdgruppe -> Logisk controller -> lรธkkecontroller

Tilfรธjelse af loop-controller

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.

Konfiguration af Loop Controller

Hรธjreklik pรฅ Loop Controller, Tilfรธj -> Sampler -> HTTP-anmodning

Konfiguration af Loop Controller

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

Tilfรธj visningsresultater i tabel

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.

Kรธr testen

Fejlfinding

  1. Hvis du stรฅr over for problemet, mens du kรธrer ovenstรฅende scenarie ... gรธr fรธlgende
  2. Kontroller, om du opretter forbindelse til internettet via en proxy. Hvis ja, fjern proxyen.
  3. ร…bn en ny forekomst af Jmeter
  4. ร…bne ControllerTestPlan.jmx i Jmeter
  5. Klik pรฅ Trรฅdgruppe -> Vis resultat i tabel
  6. Kรธr testen

Opsummer dette indlรฆg med: