how use preprocessors jmeter
În acest tutorial, veți învăța să utilizați JMeter PreProcessor și cum funcționează PreProcessors precum SampleTimeOut, UserParameter, HTMLLinkParser etc.:
PreProcessor execută întotdeauna acțiunea înainte de solicitarea Sampler.
Mai jos este lista de pre-procesoare utilizate în JMeter:
- Parametrii utilizatorului
- Expirare eșantion
- JSR223 Preprocesator
- Preprocesor JDBC
- Preprocesor Bean Shell
- Parser HTML Link
- Modificator de rescriere URL URL
- Parametrii utilizatorului RegEx
=> Faceți clic aici pentru Instruirea gratuită completă pe JMeter (peste 20 de videoclipuri)
Ce veți învăța:
Tutorial video JMeter PreProcessor
PreProcesoarele sunt acțiuni care sunt efectuate înainte ca eșantionatorul dvs. efectiv să ruleze în JMeter. Poate fi ceva de genul stocării valorilor unei variabile, definirea expirărilor, etc. Preprocesorul poate fi adăugat la nivelul grupului de fire sau la nivelul eșantionatorului.
SampleTimeOut PreProcessor poate defini timpul de eșantionare pentru o cerere. Orice eșantion de timp care depășește cel definit ar fi eșuat. UserParameter PreProcessor este utilizat pentru a defini valorile variabilelor pentru anumiți utilizatori.
Exemplu , puteți defini o valoare pentru o variabilă pentru anumiți utilizatori și atunci când eșantionul este rulat, valorile specificate în acest preprocesor sunt preluate.
HTMLLinkParser analizează toate linkurile din răspunsul la solicitarea anterioară și apoi puteți accesa oricare dintre linkurile de pe pagină în mod aleatoriu. Puteți specifica „. *” În calea dvs. și aceasta va alege orice legătură aleatorie prezentă pe pagină și ar atinge-o cu același protocol utilizat într-un protocol specific.
întrebări de interviu oracle sql pentru experimentați
Preprocesor JMeter folosit frecvent
Să parcurgem câteva dintre pre-procesoarele JMeter:

# 1) Preprocesor JSR223
JSR223 Pre-procesorul funcționează înainte de solicitarea samplerului și rulează operația utilizând scriptul JSR223. Mai multe limbi care pot fi utilizate sunt JAVA, Groovy, BeanShell, JEXL etc.
Urmați pașii de mai jos pentru a adăuga acest pre-procesor:
- Adăugați Thread Group într-un plan de testare.
- Adăugați Sampler „Cerere HTTP”.
- Adăugați pre-procesor JSR223.
- Adăugați ascultător „Vizualizați arborele de rezultate”.

Exemplu :
Următorul script poate fi scris folosind JavaScript pentru modificarea Samplerului de solicitări HTTP:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET'); 

Variabilele JSR223 disponibile pentru utilizarea scriptului sunt după cum urmează:
- Buturuga: Această variabilă poate fi utilizată pentru a scrie în fișierul jurnal.
- Parametri: Parametrii ca șir.
- Eticheta: Este o etichetă de șir.
- Nume de fișier: Numele fișierului unui script dacă în cazul adăugării unui script extern
- A caror: Aceasta este o variabilă JMeter care oferă accesul la citire și scriere la variabile.
- Sampler: Este oferit accesul la eșantionatorul curent.
- argumente: String array ca parametru
- recuzită: Proprietăți JMeter
- ctx: Acesta este contextul JMeter care oferă acces la context
- OUT: Pentru a imprima mesajul (system.out)
# 2) Preprocesor JDBC
Acest procesor poate fi utilizat pentru a rula interogări SQL înainte ca eșantionatorul să se execute.
Pentru a adăuga pre-procesorul de mai jos sunt urmați pașii:
- Adăugați Thread Group la planul de testare.
- Adăugați Sampler „Cerere HTTP”.
- Adăugați HTTP Header Manager.
- ADĂUGAȚI Preprocesorul JDBC la grupul de fire.
- Adăugați Listener ca „Vizualizați arborele rezultatelor”.

Exemplu:
În cazul în care un utilizator dorește să recupereze numele de utilizator și parola pentru utilizatori:
- Adăugați un grup de fire la planul de testare.
- Adăugați eșantion „Cerere HTTP” (detalii despre numele de utilizator și parola necesare pentru date pot fi furnizate și în partea corpului eșantionatorului, dar nu va îndeplini scopul, deoarece actualizarea în oricare dintre aceste detalii va trebui să fie actualizată în script ca bine)
- Adăugați elementul de configurare „HTTP Header Manager” și furnizați detalii despre nume și valoare.
- Adăugați preprocesorul JDBC.

Tipul interogării poate fi selectat din meniul derulant ca Selectați Declarație și Interogare poate fi specificată pentru a extrage același lucru în caseta Interogare.
Variabilele care trebuie extrase pot fi prevăzute cu separare prin virgulă.
- Adăugați ascultătorul „Vizualizați arborele rezultatelor” și rulați planul de testare pentru a vedea rezultatele.
Pre-procesor JDBC are câmp Tipul interogării care poate fi selectat conform cerințelor.

Ca și în cazul în care utilizatorul dorește Actualizați detaliile, Declarație de actualizare va trebui folosit. În mod similar, după cum este necesar, poate fi selectat un alt tip de interogare.
Exemplu de declarație selectată pregătită:
În cazul în care utilizatorul trebuie să anuleze ID-ul programării unui pacient din înregistrările referitoare la numele pacientului, utilizatorul trebuie să configureze conexiunea JDBC și apoi trebuie să adauge un preprocesor JDBC selectând tipul de interogare ca Declarație selectată pregătită. Rulați planul de testare. Rezultatele pot fi văzute de ascultătorul adăugat.
# 3) Parser HTML Link
Acest procesor este folosit pentru a analiza răspunsul HTML și pentru a extrage toate linkurile și formularele.
Urmați pașii de mai jos pentru a adăuga pre-procesorul:
- Adăugați un grup de fire la planul de testare.
- Adăugați Sampler „Cerere HTTP”
- Adăugați un controler simplu.
- Adăugați un alt eșantion „Cerere HTTP”.
- Adăugați preprocesor HTML Link Parser.
- Adăugați ascultător „Vizualizați arborele rezultatelor”.

Exemplu:
Pentru a vedea cum pot fi accesate cu crawlere paginile interne, se pot efectua pașii de mai jos:
- În grupul de fire, adăugați Sampler „Cerere HTTP” și furnizați numele serverului sau IP. Redenumiți numele eșantionatorului ca HTTP Request_Main.
- Adăugați un controler simplu la planul de testare.
- Adăugați încă un eșantion „Cerere HTTP” și furnizați numele serverului sau IP și, de asemenea, furnizați /. * în cale, astfel încât să poată accesa cu crawlere toate linkurile găsite. Redenumiți numele probei ca HTTP Request_Internal.
- Adăugați preprocesorul „HMTL Link Parser” și ascultătorul ca „View Tree Tree” pentru a vizualiza ieșirea.
Urmând pașii de mai sus, ieșirea pentru primul eșantionator va fi numele site-ului web în câmpul de solicitare, în timp ce pentru al doilea eșantionator, ieșirea ar fi paginile interne accesate cu crawlere în site-ul web furnizat. Consultați capturile de ecran de mai jos pentru același lucru.

# 4) Modificator de rescriere URL URL
Pentru a gestiona adresa URL a informațiilor despre sesiune, se utilizează tehnica de rescriere. Are un avantaj că, chiar dacă cookie-ul este dezactivat pe orice sistem, are totuși potențialul de a funcționa.
Pentru a adăuga pre-procesorul de mai jos sunt urmați pașii:
- Adăugați grupul de fire la planul de testare.
- Adăugați cerere HTTP la planul de testare.
- Adăugați preprocesorul „HTTP URL Re-writing Modifier” în planul de testare.
- Adăugați încă o „Cerere HTTP” Sampler la fir.

Putem folosi acest preprocesor după cum urmează:
Acest preprocesator poate fi aplicat și la nivelul firului și la eșantionatorul specific. Dacă este aplicat la nivelul firului, acesta va adăuga argumentul pentru fiecare cerere care există în fir.

Numele argumentului sesiunii : Numele parametrului ID sesiune trebuie specificat în acest câmp. Numele parametrului poate fi găsit ca răspuns. Acest parametru va fi căutat pe pagină și oriunde va fi găsit, va fi luată valoarea atribuită.
care sunt datele de conectare și parola routerului meu?
Extensie cale: În cazul în care aplicația rescrie adresa URL adăugând un punct și virgulă și include și ID-ul sesiunii, această opțiune ar trebui selectată.
Nu utilizați egal în extensia de cale: În cazul în care aplicația rescrie URL-uri fără '=' semn între numele parametrului și valoare, această opțiune ar trebui bifată.
Nu utilizați un semn de întrebare în extensia de cale - Dacă aplicația este obligată să oprească șirul de interogare de la închiderea sau terminarea în extensia de cale, opțiunea ar trebui bifată.
ID sesiune cache: În cazul în care ID-ul sesiunii este necesar pentru utilizarea ulterioară, această opțiune ar trebui selectată.
Codificare URL: În cazul în care sunt necesare adrese URL codate, această opțiune ar trebui selectată.
# 5) Parametrii utilizatorului RegEx
Acest preprocesator permite recuperarea valorii dinamice pentru parametrii HTTP din cererea HTTP cu ajutorul extractorului de expresie regulată. Este setat la fire independente într-un plan de testare.
Pentru a adăuga pre-procesorul de mai jos sunt urmați pașii:
- Adăugați un grup de fire într-un plan de testare.
- Adăugați o cerere HTTP la un grup de fire cu un nume de server sau IP.
- Adăugați Postprocesorul „Extractor regulat de expresii” pentru a extrage valorile.
- Adăugați o altă solicitare HTTP la un grup de fire și furnizați numele serverului sau IP.
- Adăugați preprocesatorul „Regex User Parameter” la a doua solicitare HTTP.

Acest preprocesator poate fi utilizat după cum urmează:
Denumire referință expresie regulată: Numele de referință specificat va avea variabilele care trebuie să fi fost analizate de la prima cerere HTTP.
Numele parametrilor numărul grupului regexp: 1 reprezintă acel grup 1 al regexpului. Se va returna numele variabilelor .
Valorile parametrilor numărul grupului regex: 2 reprezintă acel grup 2 al regexpului. Se va returna valorile variabilelor .

# 6) Preprocesor BeanShell
Acest preprocesor primește o valoare aleatorie dintr-o listă specifică. Poate genera șiruri aleatorii pentru a atribui valori variabilelor.
BeanShell Preprocessor este adăugat sub eșantion.
Pentru a adăuga pre-procesorul de mai jos sunt urmați pașii:
- Adăugați un grup de fire la planul de testare.
- Adăugați Sampler la grupul de fire.
- Adăugați „BeanShell Preprocessor” la eșantionul adăugat.

Exemplu:
În cazul în care variabila definită de utilizator este setată la „adevărat” ca valoare și această valoare trebuie schimbată în „fals”, comanda furnizată mai jos poate fi utilizată pentru a face același lucru. (Șterge este o variabilă definită de utilizator, a cărei valoare trebuie modificată))
vars.put(“delete”,”false”); 
Dacă se folosește un script extern, în acest caz, fișierul poate fi încărcat pentru script în câmpul Numele fișierului. Opțiunea de navigare este furnizată pentru a încărca fișierul extern.
Întrebări frecvente despre JMeter Preprocessor
Q # 1) Ce este un preprocesator în JMeter?
Răspuns : Preprocesatorul este elementul care este utilizat pentru a executa acțiunile înainte de executarea cererii de eșantionare. Există o serie de pre-procesoare care pot fi utilizate pentru a atinge diferite scopuri, cum ar fi păstrarea valorii în variabilă, obținerea de date din baze de date etc. Preprocesoarele pot fi adăugate fie la nivelul Sampler, fie la nivelul thread-ului.
Q # 2) Ce este Beanshell Preprocessor în JMeter?
Răspuns : BeanShell este un script bazat și este o componentă încorporată a JMeter. Acest preprocesator este utilizat pentru a executa scriptul înainte de a rula Sampler.
Concluzie
Preprocesoare JMeter - așa cum am discutat, rulează chiar înainte ca eșantionatorul să se execute. JSR223 și Beanshell sunt preprocesoare bazate pe scripturi întrucât JDBC este utilizat pentru activitățile bazei de date deoarece sunt necesare preluarea sau recuperarea datelor.
Parser de link HTML și parametru RegEx User nu sunt folosite la fel de popular ca alte preprocesatoare, dar servesc scopului necesar și au propriile avantaje.
Lectură recomandată
- Ascultători JMeter: analizarea rezultatelor cu diferiți ascultători
- Parametrizarea datelor JMeter folosind variabile definite de utilizator
- Variabile și funcții JMeter
- Cum se realizează corelația JMeter cu un exemplu
- Top 5 plugin-uri JMeter și cum să le utilizați (cu exemple)
- JMeter Timers: Constant, BeanShell și Guassian Random Timer
- Controlere Jmeter Partea 2
- Controlere Jmeter Partea 1
