how use preprocessors jmeter
U ovom uputstvu naučit ćete koristiti JMeter PreProcessor i kako rade PreProcesori poput SampleTimeOut, UserParameter, HTMLLinkParser itd.:
Predprocesor uvijek izvršava radnju prije zahtjeva za uzorkovanje.
Ispod je popis pretprocesora koji se koriste u JMeteru:
- Korisnički parametri
- Vrijeme isteka uzorka
- Predprocesor JSR223
- JDBC predprocesor
- Preprocesor ljuske graha
- Raščlanjivač HTML veze
- Modifikator ponovnog pisanja HTML URL-a
- Korisnički parametri RegEx-a
=> Kliknite ovdje za Kompletni besplatni trening o JMeteru (20+ videozapisa)
Što ćete naučiti:
JMeter PreProcessor Video Vodič
Predprocesori su radnje koje se izvode prije nego što se stvarni sampler pokrene u JMeteru. To može biti nešto poput spremanja vrijednosti varijable, definiranja vremenskih ograničenja itd. Predprocesor se može dodati na razini skupine niti ili na razini uzorkivača.
Predprocesor SampleTimeOut može definirati vremensko ograničenje uzorka za zahtjev. Bilo koje vrijeme uzimanja uzorka koje je duže od definiranog neće uspjeti. PreProcessor UserParameter koristi se za definiranje vrijednosti varijabli za određene korisnike.
Primjer , mogli biste definirati vrijednost za varijablu za određene korisnike i kada se pokrene sampler, preuzimaju se vrijednosti navedene u ovom pretprocesoru.
HTMLLinkParser raščlanjuje sve veze iz odgovora na prethodni zahtjev, a zatim možete nasumično pritisnuti bilo koju od veza na stranici. Možete odrediti '. *' Na svojoj putanji, a ona će odabrati bilo koju slučajnu vezu prisutnu na stranici i pogoditi će je istim protokolom koji se koristi u određenom protokolu.
najbolje prakse automatizacije u testiranju softvera
Uobičajeni JMeter pretprocesor
Prođimo kroz nekoliko pretprocesora JMetera:

# 1) Predprocesor JSR223
Predprocesor JSR223 izvodi prije zahtjeva za uzorkovanje i izvodi operaciju pomoću skripte JSR223. Nekoliko jezika koji se mogu koristiti su JAVA, Groovy, BeanShell, JEXL itd.
Slijedite korake u nastavku za dodavanje ovog pretprocesora:
- Dodajte grupu niti u plan ispitivanja.
- Dodajte sampler “HTTP zahtjev”.
- Dodajte JSR223 pretprocesor.
- Dodajte slušatelja 'Prikaži stablo rezultata'.

Primjer :
Sljedeća skripta može se napisati pomoću JavaScript-a za izmjenu uzorkovanja HTTP zahtjeva:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET'); 

JSR223 varijable dostupne za upotrebu skripte su sljedeće:
- Zapisnik: Ova se varijabla može koristiti za upisivanje u datoteku dnevnika.
- Parametri: Parametri kao niz.
- Označiti: Oznaka je niza.
- Naziv datoteke: Naziv datoteke skripte ako je dodana bilo koja vanjska skripta
- Čije: Ovo je JMeter varijabla koja omogućuje čitanje i upisivanje varijabli.
- Uzorak: Omogućen je pristup trenutnom uzorkivaču.
- argumenti: Niz niza kao parametar
- rekviziti: Svojstva JMetra
- ctx: Ovo je JMeter kontekst koji pruža pristup kontekstu
- VAN: Ispis poruke (system.out)
# 2) JDBC pretprocesor
Ovaj procesor se može koristiti za pokretanje SQL upita prije nego što se sampler izvrši.
Za dodavanje pretprocesora slijede se koraci u nastavku:
- Dodajte grupu niti u plan ispitivanja.
- Dodajte sampler “HTTP zahtjev”.
- Dodajte HTTP upravitelj zaglavlja.
- DODAJTE JDBC Predprocesor u grupu niti.
- Dodajte slušatelja kao “Prikaz stabla rezultata”.

Primjer:
U slučaju da korisnik želi dobiti korisničko ime i lozinku za korisnike:
- Dodajte grupu niti u plan ispitivanja.
- Dodajte 'HTTP zahtjev' za uzorkovanje (detalji potrebnog korisničkog imena i lozinke za podatke mogu se također navesti u dijelu tijela samplera, ali to neće služiti svrsi, jer će ažuriranje bilo kojeg od ovih detalja morati biti ažurirano u skripti kao dobro)
- Dodajte konfiguracijski element 'HTTP Header Manager' i navedite detalje za ime i vrijednost.
- Dodajte JDBC pretprocesor.

Vrsta upita može se odabrati iz padajućeg izbornika kao Odaberite Izjava i upit se može odrediti za izdvajanje istog u okvir za upite.
Varijable koje se izdvajaju mogu se odvojiti zarezima.
- Dodajte slušatelj “Prikaz stabla rezultata” i pokrenite plan ispitivanja da biste vidjeli rezultate.
JDBC pretprocesor ima polje Vrsta upita koji se mogu odabrati prema zahtjevu.

Kao u slučaju da korisnik to želi Ažuriraj detalji, Ažuriranje Izjave morat će se koristiti. Slično tome, prema potrebi, može se odabrati druga vrsta upita.
Primjer pripremljene izjave za odabir:
U slučaju da korisnik mora otkazati ID imenovanja pacijenta iz zapisa koji se odnose na ime pacijenta, korisnik mora konfigurirati JDBC vezu, a zatim mora dodati JDBC pretprocesor odabirom vrste upita kao Pripremljena Select izjava. Izvršite plan ispitivanja. Rezultati mogu vidjeti dodani slušatelj.
# 3) Analizator HTML veze
Ovaj procesor koristi se za raščlanjivanje HTML odgovora i za izdvajanje svih veza i obrazaca.
Slijedite korake u nastavku za dodavanje pretprocesora:
- U plan ispitivanja dodajte grupu niti.
- Dodajte uzorak 'HTTP zahtjev'
- Dodajte Jednostavan kontroler.
- Dodajte još jedan 'HTTP zahtjev' za uzorkovanje.
- Dodajte pretprocesor za analizu HTML veze.
- Dodajte slušatelja 'Prikaži stablo rezultata'.

Primjer:
Da biste vidjeli kako se interne stranice mogu indeksirati, mogu se izvesti sljedeći koraci:
- U Thread Group dodajte Sampler “HTTP zahtjev” i navedite ime ili IP poslužitelja. Preimenujte ime uzorkivača u HTTP Request_Main.
- U plan ispitivanja dodajte Simple Controller.
- Dodajte još jedan sampler “HTTP zahtjev” i navedite ime poslužitelja ili IP, a također navedite /. * na putu, tako da može puzati do svih pronađenih veza. Preimenujte ime uzorkivača u HTTP Request_Internal.
- Dodajte pretprocesor “HMTL Link Parser” i slušatelj kao “View Result Tree” (Pregled stabla rezultata) da biste pogledali izlaz.
Slijedeći gornje korake, izlaz za prvi sampler bit će naziv web stranice u polju zahtjeva, dok će za drugi sampler izlaz biti interne stranice indeksirane na navedenom web mjestu. Pogledajte dolje snimke zaslona za isto.

# 4) Modifikator ponovnog pisanja HTTP URL-a
Za upravljanje URL-om podataka o sesiji koristi se tehnika ponovnog pisanja. Prednost je u tome što čak i ako je kolačić onemogućen na bilo kojem sustavu, on i dalje može raditi.
Za dodavanje pretprocesora slijede se koraci u nastavku:
- Dodajte grupu niti u plan ispitivanja.
- Dodajte HTTP zahtjev u plan ispitivanja.
- U plan ispitivanja dodajte pretprocesor “Modifikator ponovnog pisanja HTTP URL-a”.
- Dodajte još jedan 'HTTP zahtjev' za uzorkovanje u nit.

Ovaj pretprocesor možemo koristiti na sljedeći način:
Ovaj se pretprocesor može primijeniti na razinu niti i na određeni uzorkivač. Ako se primijeni na razini niti, dodat će argument za svaki zahtjev koji se nalazi u niti.

Naziv argumenta sesije : U ovom polju mora biti navedeno ime parametra ID sesije. Odgovor parametra može se naći. Ovaj će se parametar pretraživati na stranici i gdje god ga pronađu, uzet će mu se dodijeljena vrijednost.
koristeći ipad za prodajno mjesto
Proširenje puta: U slučaju da aplikacija prepiše URL dodavanjem točke sa zarezom i također uključuje ID sesije, treba odabrati ovu opciju.
Ne koristite jednako u proširenju puta: U slučaju da aplikacija prepiše URL-ove bez '=' znak između imena i vrijednosti parametra, ovu bi opciju trebalo označiti.
Nemojte koristiti upitnik u proširenju putanje - Ako je od aplikacije potrebno zaustaviti zatvaranje ili završavanje niza upita u proširenju puta, treba provjeriti opciju.
ID sesije predmemorije: U slučaju da je ID sesije potreban za kasniju upotrebu, treba odabrati ovu opciju.
URL kodiranje: U slučaju da su potrebni kodirani URL-ovi, treba odabrati ovu opciju.
# 5) RegEx korisnički parametri
Ovaj pretprocesor omogućuje dohvaćanje dinamičke vrijednosti za HTTP parametre iz HTTP zahtjeva s izvlačiteljem regularnih izraza. Postavlja se na neovisne niti u planu ispitivanja.
Za dodavanje pretprocesora slijede se koraci u nastavku:
- Dodajte grupu niti u plan ispitivanja.
- Dodajte HTTP zahtjev u grupu niti s imenom poslužitelja ili IP-om.
- Dodajte postprocesor “Extractor Expression Extractor” za izdvajanje vrijednosti.
- Dodajte još jedan HTTP zahtjev u grupu niti i navedite ime poslužitelja ili IP.
- Dodajte pretprocesor “Regex User Parameter” na drugi HTTP zahtjev.

Ovaj se pretprocesor može koristiti na sljedeći način:
Naziv reference redovnog izraza: Navedeno ime reference sadržavat će varijable koje su morale biti raščlanjene iz prvog HTTP zahtjeva.
Nazivi parametara broj grupe regularnih izraza: 1 predstavlja onu skupinu 1 regularnog izraza. Vratit će imena varijabli .
Vrijednost parametra broj regularne izraza: 2 predstavlja onu skupinu 2 regularnog izraza. Vratit će vrijednosti varijabli .

# 6) BeanShell predprocesor
Ovaj pretprocesor dobiva slučajnu vrijednost s određenog popisa. Može generirati slučajne nizove za dodjeljivanje vrijednosti varijablama.
BeanShell Preprocessor dodan je ispod uzorkivača.
Za dodavanje pretprocesora slijede se koraci u nastavku:
- U plan ispitivanja dodajte grupu niti.
- Dodajte uzorkivač u skupinu niti.
- Dodajte 'BeanShell Preprocessor' u dodani sampler.

Primjer:
U slučaju da je korisnički definirana varijabla postavljena na 'true' kao vrijednost i tu vrijednost treba promijeniti u 'false', dolje navedena naredba može se koristiti za isto. (Delete je korisnički definirana varijabla, čiju vrijednost treba mijenjati))
vars.put(“delete”,”false”); 
Ako će se upotrijebiti bilo koja vanjska skripta, u tom se slučaju datoteka može prenijeti za skriptu u polje Ime datoteke. Postoji mogućnost pregledavanja za prijenos vanjske datoteke.
Česta pitanja o JMeter Preprocesoru
P # 1) Što je pretprocesor u JMeteru?
Odgovor : Preprocesor je element koji se koristi za izvršavanje radnji prije pokretanja zahtjeva za uzorkovanje. Postoji niz predprocesora koji se mogu koristiti za postizanje različitih svrha poput zadržavanja vrijednosti u varijabli, dobivanja podataka iz baza podataka itd. Preprocesori se mogu dodati ili na razini uzorkovanja ili na razini niti.
P # 2) Što je Beanshell Preprocessor u JMeteru?
Odgovor : BeanShell temelji se na skripti i ugrađena je komponenta JMetera. Ovaj se pretprocesor koristi za izvršavanje skripte prije nego što se Sampler pokrene.
Zaključak
JMeter pretprocesori - kao što smo razgovarali, pokreće se neposredno prije izvođenja samplera. JSR223 i Ljuska graha su pretprocesori zasnovani na skripti, dok JDBC koristi se za aktivnosti baze podataka jer je potrebno dohvaćanje ili preuzimanje podataka.
Analizator HTML veze i parametar RegEx korisnik ne koriste se popularno kao drugi pretprocesori, ali služe svrsi prema potrebi i imaju svoje prednosti.
Preporučena literatura
- Slušatelji JMeter: Analiza rezultata s različitim slušateljima
- JMeter parametalizacija podataka korištenjem korisnički definiranih varijabli
- JMeter varijable i funkcije
- Kako postići JMeter korelaciju s primjerom
- Top 5 JMeter dodataka i kako ih koristiti (s primjerima)
- JMeter timeri: konstantni, BeanShell i Guassian slučajni mjerač vremena
- Jmeter kontrolori, dio 2
- Jmeter kontrolori 1. dio
