Controlere în JMeter: Buclă, Simplu, Tranzacție, Modul, Aleatoriu

Ce este controlerul logic?

Controllerele logice vă permit să definiți ordinea procesării cererii într-un Thread. Vă permite să controlați „când” să trimiteți o solicitare de utilizator către un server web. De exemplu, puteți utiliza controlere aleatoare pentru a trimite solicitări HTTP către server în mod aleatoriu

Controlerele logice determină comandă în care se execută cererea utilizatorului.

Unele controlere logice utilizate în mod obișnuit sunt mai jos:

Controlerul logic

Controler de înregistrare

JMeter poate să record Interesele Testarea trepte; un controler de înregistrare este a înlocuitor pentru a stoca acești pași de înregistrare.

Controler de înregistrare

Controler simplu

Controlerul simplu este doar un recipientul pentru cererea utilizatorului.

Controler simplu

Controler de buclă

Loop Controller face ca cererea utilizatorului să ruleze un anumit număr de ori sau fugi pentru totdeauna Așa cum se arată în figura:

Controler de buclă

Controler aleatoriu

Random Controller face ca toate cererile utilizatorului să ruleze aleatoriu ordine în fiecare perioadă de buclă.

De exemplu, aveți 3 solicitări de utilizator către site-ul web http://www.google.com în următoarea ordine:

  1. Cerere HTTP
  2. Solicitare FTP
  3. Solicitare JDBC

Aceste 3 solicitări ar trebui să ruleze de 5 ori. Un total de 15 solicitări ale utilizatorilor vor fi trimise către serverul Google de către JMeter.

In secventiala comanda, cererile sunt trimise secvențial în următoarea ordine:

Solicitare HTTP ->Solicitare FTP->Solicitare JDBC

pentru fiecare buclă.

Controler aleatoriu

In aleator comanda, cererile sunt trimise ca la întâmplare,

Solicitare FTP ->Solicitare HTTP->Solicitare JDBC

Or

Solicitare JDBC ->Solicitare FTP->Solicitare HTTP

Pentru fiecare buclă.

Controler de modul

Scopul Module Controller este de a adăuga modularitate JMeter.

Ideea generală este că aplicațiile web constau din mici unități de funcționalitate (adică Conectare, Creare Cont, Deconectare...). Această funcționalitate poate fi stocată în Controler simplu ca „module”. Module Controller va alege ce modul trebuie să ruleze.

Controler de modul

Luați în considerare următorul scenariu -

Vrei să simulezi:

  • 50 utilizatori delogare,
  • 100 utilizatori logare
  • 30 utilizatori căutare www.google.com

Poți să folosești JMeter pentru a crea 3 module. Fiecare modul simulează fiecare activitate de utilizator: Conectare, Deconectare și Căutare.

Controler de modul

Controlerul Module alege modulul care trebuie să ruleze.

Controler de modul

Alți controlori importanți

  • Intercalează Controller: preia și face unu a cererii utilizatorului rulat fiecare buclă a firului.
  • Runtime Controler: controale pentru cat timp copiii săi au voie să alerge.

De exemplu, dacă ați specificat Runtime Controller 10 secunde, JMeter va rula testul timp de 10 secunde.

Alți controlori importanți

  • tranzacție Controller: măsoară timpul total luat la termina o execuție de probă
  • Include Controler: este conceput pentru a utiliza un plan de testare extern. Acest controler vă permite să utilizați mai multe planuri de testare în JMeter. Vezi detalii în JMeter Test de performanta.

Exemplu de controler de buclă

Această secțiune vă arată instrucțiuni pas cu pas pentru a adăuga Controler de buclă setați la planul dvs. actual de testare a performanței.

Controlerul buclei face ca eșantionarele să ruleze de un anumit număr de ori, în plus față de valoarea buclei pe care ați specificat-o pentru grupul de fire. De exemplu, dacă tu

  • Adăugați o solicitare HTTP la un controler de buclă cu un număr de bucle de 50
  • Configurați numărul de bucle ale grupului de fire la 2
  • Apoi, JMeter va trimite un total de 50 * 2 = 100 de solicitări HTTP.

Aceasta este foaie de parcurs din acest exemplu:

Exemplu de controler de buclă

Pasul 1) Configurarea grupului de fire

We reutilizarea Pasul 1, 2 din tutorial JMeter Test de performanta.

  1. Adăugați un grup de fire

Click dreapta pe Planul de testare și adăugați un nou grup de fire: Adăuga-> Fire (Utilizatori) ->Grup de fire

Dar în panoul de control al grupului de fire, introduceți proprietățile firului după cum urmează:

Adăugați un grup de fire

Va face unu solicitarea utilizatorului către serverul web google.com și rulați-o 2 ori.

  1. Adăuga JMeter element

Adăugați solicitarea HTTP implicită la www.google.com.

  1. Adăugarea controlerului de buclă

Faceți clic dreapta pe Thread Group -> Logic Controller -> Loop Controller

Adăugarea controlerului de buclă

Pasul 2) Configurarea Loop Controller

Adăugați valoarea 50 în câmpul Loop Count, ca în figura de mai jos. Va face unu cererea utilizatorului către serverul web google.com rulați-l 50 de ori, în plus față de valoarea buclei =2, ați specificat pentru grupul de fire de mai sus. Deci JMeter va trimite un total de 2 * 50 = 100 Solicitări HTTP.

Configurarea controlerului de buclă

Faceți clic dreapta pe Loop Controller, Add -> Sampler -> HTTP request

Configurarea controlerului de buclă

Pasul 3) Adăugați rezultatele vizualizării în tabel

Reutilizam Pasul 2 în Timer pentru a adăuga Vizualizare rezultate în tabel

Deci, planul de testare este prezentat în figura de mai jos

Adăugați rezultatele vizualizării în tabel

Pasul 4) Rulați testul

Acum reveniți Vizualizați rezultatele în tabel, faceți clic pe butonul Start din bara de meniu (Ctrl+R) pentru a rula un test

După cum se arată în figura de mai jos, JMeter simulează o cerere de utilizator, care este trimis de 100 de ori, către serverul web http://www.google.com/. Testul este oprit după ce o solicitare de utilizator a fost trimisă de 100 de ori.

Rulați testul

Depanare

  1. Dacă vă confruntați cu problema în timp ce rulați scenariul de mai sus... faceți următoarele
  2. Verificați dacă vă conectați la internet printr-un proxy. Dacă da, eliminați proxy-ul.
  3. Deschideți o nouă instanță de Jmeter
  4. Deschideți ControllerTestPlan.jmx în Jmetru
  5. Faceți clic pe Grup de fire -> Vedeți rezultatul în tabel
  6. Rulați testul

Rezumați această postare cu: