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 din 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