JMeter Elementi i komponente: Grupa niti, Uzorci

⚡ Pametni sažetak

JMeter Elementi su gradivni blokovi svakog plana testiranja: Grupe niti stvaraju virtualne korisnike, Uzorci šalju zahtjeve, Slušači prikazuju rezultate, a Elementi konfiguracije daju zadane vrijednosti i podatke koji su tim zahtjevima potrebni.

  • 🔘 Grupa niti: Svaka nit predstavlja jednog virtualnog korisnika koji upravlja aplikacijom koja se testira.
  • ☑️ Uzorkivači: Odlučite se za protokol zahtjeva - FTP, HTTP, JDBC, SMTP i više.
  • ✅ Slušatelji: Rezultate prikažite kao graf, stablo, tablicu ili datoteku zapisnika.
  • 🧪 Elementi konfiguracije: Postavite zadane vrijednosti i varijable koje uzorkovači ponovno koriste tijekom cijelog testa.
  • 🛠️ Izvođenja temeljena na podacima: Konfiguracija skupa podataka CSV-a dostavlja različite vjerodajnice svakom simuliranom korisniku.
  • ⚡ Moderni ekvivalenti: BSF Sampler je ukinut; skripta za trenutna izdanja je putem JSR223 i Groovy.

JMeter Elementi: Grupa niti, uzorci, slušači i elementi konfiguracije

Što je Element in JMeter?

Različite komponente JMeter nazivaju se Elementi. Svaki element je dizajniran za određenu svrhu.

Donja slika prikazuje neke zajedničke elemente JMeter i pokazuje kako se nalaze pod Grupom Niti.

JMeter Dijagram hijerarhije elemenata s grupom niti iznad uzorkovača, logičkih kontrolera, slušača, konfiguracijskih elemenata, tvrdnji, timera i procesora

Proučavanje svih komponenti odjednom je poziv na zbunjenost i dosadu. Ovdje ćemo raspraviti o komponentama koje morate znati prije nego što možete početi testiranje in JMeter.

Preostale komponente bit će raspravljene kako i kada se budu koristile u sljedećim vodičima. Elementi o kojima se raspravlja u ovom vodiču navedeni su u nastavku.

Grupa niti

Grupa niti je skup niti. Svaka nit predstavlja jednog korisnika koji koristi testiranu aplikaciju. U osnovi, svaka nit simulira jedan stvarni korisnički zahtjev poslužitelju.

Kontrole za grupu niti omogućuju vam postavljanje broja niti za svaku grupu.

Na primjer, ako postavite broj niti na 100, JMeter će kreirati i simulirati 100 korisničkih zahtjeva prema testiranom poslužitelju, kao što je prikazano na donjem dijagramu.

Dijagram JMeter Grupa niti simulira korisnika 1 do korisnika 100, pri čemu svaki šalje zahtjev testiranoj aplikaciji

Ploča Grupa niti također sadrži razdoblje ubrzavanja koje raspoređuje početak tih niti tijekom vremena umjesto pokretanja svakog korisnika odjednom.

Sampleri

Kao što već znamo, JMeter podržava testiranje HTTP, FTP, JDBC i mnogih drugih protokola.

Također znamo da Grupe niti simuliraju korisničke zahtjeve poslužitelju.

Ali kako Grupa niti zna koju vrstu zahtjeva (HTTP, FTP i tako dalje) treba napraviti?

Odgovor su Uzorci.

Korisnički zahtjev može biti FTP zahtjev, HTTP zahtjev, JDBC zahtjev i tako dalje. Donja slika navodi uzorke obrađene u ovom vodiču.

Popis dijagrama stabla JMeter uzorci: FTP zahtjev, HTTP zahtjev, JDBC zahtjev, BSF uzorak, uzorak dnevnika pristupa i SMTP uzorak

FTP zahtjev

Zamislimo da želite testirati performanse FTP poslužitelja. Možete koristiti FTP Request sampler u JMeter obaviti ovaj zadatak. Ovaj upravljač vam omogućuje slanje FTP zahtjeva za "datoteku za preuzimanje" ili "datoteku za učitavanje" na FTP poslužitelj.

Dijagram koji prikazuje JMeter slanje FTP zahtjeva FTP poslužitelju za prijenos ili preuzimanje datoteke

Na primjer, ako želite preuzeti datoteku “Test.txt” s FTP poslužitelja koji se testira, trebate konfigurirati neke parametre u JMeter kao na slici ispod.

FTP Request sampler panel s ftp.example.com kao poslužiteljem, portom 21, Test.txt kao udaljenom datotekom i anonimnom prijavom

Ploča postavlja poslužitelj na ftp.example.com, port 21, udaljena datoteka na Test.txt i opcija get(RETR), dakle JMeter šalje FTP naredbu tom poslužitelju i preuzima datoteku.

HTTP zahtjev

Ovaj uzorkivač vam omogućuje slanje HTTP/HTTPS zahtjeva web poslužitelju.

Razmotrite primjer u nastavku. JMeter šalje HTTP zahtjev na Google web stranicu i s nje dohvaća HTML datoteke ili slike.

Dijagram od JMeter slanje HTTP zahtjeva na Google Web-stranice i primanje HTML-a i slika zauzvrat

U udžbeniku JMeter Ispitivanje performansi, objasnit ćemo više o ovom HTTP zahtjevu. To je najčešće korišteni uzorak testiranje web aplikacija rad se oslanja na.

JDBC zahtjev

Ovaj sampler vam omogućuje izvršavanje baze podataka ispitivanje performansi. Šalje JDBC zahtjev (SQL upit) bazi podataka.

Dijagram od JMeter slanje SQL upita na poslužitelj baze podataka i primanje rezultata

Na primjer, poslužitelj baze podataka ima polje test_result pohranjeno u tablici pod nazivom test_tbl. Želite upitati ove podatke s poslužitelja baze podataka, tako da možete konfigurirati JMeter poslati a SQL upit ovom poslužitelju za dohvaćanje podataka.

JDBC ploča zahtjeva s tipom upita postavljenim na Select Statement i upitom select test_result iz test_tbl gdje je id = 1

Vrsta upita ovdje je Izjava za odabir, a upit glasi select test_result from test_tbl where id = 1Element JDBC konfiguracije veze mora navesti skup na koji pokazuje polje Naziv varijable.

BSF uzorkivač

Ovaj sampler vam omogućuje da napišete sampler koristeći a BSF skriptni jezik.

Evo primjera BSF uzorkovača u JMeter, s poljima za jezik skripte, parametrima koji se prosljeđuju skripti i ili ugrađenom skriptom ili vanjskom datotekom skripte.

BSF Sampler ploča s poljima za jezik skripte, parametre, vanjsku datoteku skripte i tijelo ugrađene skripte

Napomena o zastarivanju: Obitelj elemenata BSF je zastarjela u korist elemenata JSR223 i više se ne pojavljuje u JMeter referenca komponenteU trenutnim izdanjima koristite JSR223 Uzorkivač sa Groovy, što kompajlira skriptu i radi puno bolje pod opterećenjem. Gornja ploča je ovdje zadržana jer je stariji planovi testiranja još uvijek sadrže.

Uzorkivač zapisnika pristupa

Ovaj sampler vam omogućuje čitanje zapisnika pristupa i generiranje HTTP zahtjeva. Unosi u zapisnik mogu biti slike, HTML, CSS i tako dalje.

Ploča uzorka dnevnika pristupa koja prikazuje zadana polja poslužitelja i porta, klasu dodatka TCLogParser i lokaciju datoteke dnevnika

Polje Parser je zadano postavljeno na org.apache.jmeter.protocol.http.util.accesslog.TCLogParser, a polje Lokacija datoteke zapisnika pokazuje JMeter na zapisniku koji želite ponovno reproducirati.

SMTP uzorkivač

Ako želite testirati poslužitelj e-pošte, možete koristiti SMTP Sampler. Ovaj se sampler koristi za slanje e-poruka pomoću SMTP protokola.

SMTP Sampler panel s postavkama poslužitelja, adresama e-pošte, opcijama autentifikacije i sigurnosti te postavkama poruka

Ploča grupira postavke poslužitelja, adrese e-pošte, postavke autentifikacije i poruka te ispisuje zadane portove pokraj polja Port: SMTP 25, SSL 465 i StartTLS 587.

slušatelji

Slušači prikazuju rezultate izvršavanja testa. Mogu prikazati rezultate u različitim formatima kao što su stablo, tablica, graf ili datoteka zapisnika.

Dijagram koji prikazuje Listener koji raširi rezultate u prikaze grafa, stabla, tablice i izvješća

The Grafikon Rezultati Listener prikazuje vrijeme odgovora poslužitelja na grafu, s brojem uzoraka, prosjekom, odstupanjem, propusnošću i medijanom ispisanim ispod.

Slušač rezultata grafikona koji prikazuje vrijeme odziva s nizom podataka, prosjeka, medijana, odstupanja i propusnosti

Prikaži stablo rezultata prikazuje rezultat svakog korisničkog zahtjeva u osnovnom HTML formatu, s karticom rezultata Samplera koja izvještava o vremenu učitavanja, latenciji, veličini i kodu odgovora.

Pogledajte slušača Results Tree s popisom zahtjeva s lijeve strane i karticom rezultata Sampler koja prikazuje kod odgovora 200

Prikaži rezultate u tablici prikazuje sažetak rezultata ispitivanja u tabličnom obliku, jedan redak po uzorku.

Prikaz rezultata u tabličnom slušaču sa stupcima za broj uzorka, vrijeme početka, naziv niti, oznaku i vrijeme uzorka

Datoteka zapisnika bilježi isti sažetak kao i tekst, a to je ono što se čuva kada se test izvodi bez grafičkog korisničkog sučelja.

Sažetak agregiranog zapisnika s oznakama uzorkovača s brojem uzoraka, prosjekima i retkom UKUPNO

Najbolja vježba: GUI slušači troše memoriju i iskrivljuju rezultate, stoga pokrenite stvarne testove opterećenja u načinu rada koji nije GUI i nakon toga otvorite spremljenu datoteku s rezultatima.

Elementi konfiguracije

Konfiguracijski elementi postavljaju zadane vrijednosti i varijable za kasniju upotrebu od strane uzorkovača.

Donja slika prikazuje neke često korištene elemente konfiguracije u JMeter.

Dijagram stabla JMeter elementi konfiguracije: konfiguracija skupa podataka CSV, upravitelj kolačića HTTP, element konfiguracije prijave, zadane postavke HTTP zahtjeva i zadane postavke FTP zahtjeva

Konfiguracija skupa CSV podataka

Pretpostavimo da želite testirati web-stranicu za 100 korisnika koji se prijavljuju s različitim vjerodajnicama. Ne morate snimiti skriptu 100 puta. Možete parametrizirati skriptu za unos različitih vjerodajnica za prijavu. Ove podatke za prijavu (na primjer, korisničko ime i lozinka) možete pohraniti u tekstualnu datoteku. JMeter ima element koji vam omogućuje čitanje različitih parametara iz te tekstualne datoteke. To je „CSV Data Set Config“ (Konfiguracija skupa podataka CSV), koji se koristi za čitanje redaka iz datoteke i njihovo dijeljenje u varijable.

JMeter Stablo plana testiranja s odabranom konfiguracijom skupa CSV podataka pod kontrolerom prijave uz zadane postavke HTTP zahtjeva

Ovo je primjer CSV podataka. To je tekstualna datoteka koja sadrži korisnička imena i lozinke korištene za prijavu na vašu ciljnu web stranicu.

Tekstualna datoteka csv_data.txt koja sadrži četiri retka korisničkog imena, lozinke i duljine kolačića odvojena zarezima

HTTP Cookie Manager

Shvatimo ovo na primjeru.

Koristili ste svoj preglednik (Firefox, Chrome i tako dalje) za pregledavanje www.google.com.

Prijavljujete se sa svojim korisničkim imenom i lozinkom.

Vaše korisničko ime i lozinka bit će pohranjeni na vašem računalu kao kolačići.

Sljedeći put, kad dođeš u posjet www.google.com, ne morate se ponovno prijavljivati ​​jer će vaš preglednik koristiti vaše kolačiće kao korisničke podatke za prijavu.

Upravitelj HTTP kolačića ima istu značajku kao i web preglednik. Ako imate HTTP zahtjev i odgovor sadrži kolačić, Upravitelj kolačića automatski pohranjuje taj kolačić i koristi ga za sve buduće zahtjeve prema toj određenoj web stranici.

Zadane postavke HTTP zahtjeva

Ovaj element vam omogućuje postavljanje zadanih vrijednosti koje koriste vaši kontroleri HTTP zahtjeva.

Na primjer,

Šaljete 100 HTTP zahtjeva na poslužitelj google.com.

Morali biste ručno unijeti naziv poslužitelja google.com za svih 100 zahtjeva.

Umjesto toga, možete dodati jedan element HTTP Request Defaults s poljem "Server Name or IP" postavljenim na google.com, kao što je prikazano u nastavku.

Ploča HTTP zahtjeva s zadanim postavkama s google.com kao nazivom poslužitelja, portom 80 i vremenskim ograničenjima za povezivanje i odgovor

Nema potrebe tipkati ga 100 puta. Ovaj element će biti detaljno objašnjen u tutorijalu. JMeter Ispitivanje performansi.

Element konfiguracije prijave

Element konfiguracije prijave omogućuje vam dodavanje ili poništavanje postavki korisničkog imena i lozinke u uzorkivačima.

Na primjer, želite simulirati prijavu jednog korisnika na web stranicu www.facebook.com s korisničkim imenom i lozinkom. Pomoću elementa konfiguracije prijave možete dodati ovu postavku korisničkog imena i lozinke u zahtjev korisnika.

Ploča elementa konfiguracije prijave s unesenim korisničkim imenom guru99 i maskiranim poljem za lozinku

Element konfiguracije prijave u odnosu na konfiguraciju skupa podataka CSV-a

Element konfiguracije prijave Konfiguracija skupa CSV podataka
Koristi se za simulaciju prijave jednog korisnika Koristi se za simulaciju prijava više korisnika
Pogodno samo za parametre prijave (korisničko ime i lozinka) Prikladno za veliki broj parametara

Između njih, ova dva elementa pokrivaju gotovo svaki scenarij vjerodajnica s kojim se susrećete alati za testiranje performansi raditi.

Pitanja i odgovori

To govori JMeter Koliko je vremena potrebno da se sve niti pokrenu. Deset niti s razmakom od 100 sekundi ubrzanja pokreće se u razmaku od deset sekundi. Prekratko ubrzanje preplavljuje poslužitelj i uzrokuje kvarove koje nijedan stvarni korisnik nikada ne bi uzrokovao.

Tajmeri umeću pauzu između zahtjeva tako da simulirano učitavanje nalikuje stvarnom pregledavanju umjesto poplave. Tvrđenja provjeravaju svaki odgovor, označavajući uzorak kao neuspješan kada se statusni kod, tekst ili trajanje ne podudaraju s onim što ste naveli.

Oni grupiraju i granaju zahtjeve ispod sebe. Kontroler petlje ponavlja svoju djecu, If kontroler ih uvjetno izvršava, a Kontroler transakcija izvještava cijelu grupu kao jedan vremenski određen korak u rezultatima.

Ne. Slušači poput View Results Tree pohranjuju svaki uzorak u međuspremnik i iskrivljuju brojeve koje prijavljuju. Pokrenite test u načinu rada koji nije GUI, zapišite rezultate u datoteku, a zatim učitajte tu datoteku u slušač nakon što je izvođenje završeno.

Prvo se primjenjuju elementi konfiguracije i predprocesori, zatim se pokreće sampler, nakon toga postprocesori, tvrdnje i slušatelji. Opseg je također važan: element postavljen na razini plana primjenjuje se na svaki zahtjev ispod njega.

Korisno je za uočavanje uzoraka. Slanje datoteke s rezultatima asistentu otkriva najsporije oznake, skupine pogrešaka i trendove vremena odziva puno brže od čitanja redaka. Uvijek provjerite nalaz u odnosu na sirove uzorke prije djelovanja.

Da. Izrađuje nacrte Groovy za extracting vrijednosti, izgradnja sadržaja i postavljanje varijabli unutar JSR223 elementa. Provjerite svaki prijedlog, jer često poseže za zastarjelim BeanShell API-jem ili varijablama koje JMeter ne izlaže.

Jedna grupa niti i jedan sampler. Sve ostalo je opcionalno. U praksi se dodaje slušač kako bi rezultati bili vidljivi, a zadane vrijednosti ili datoteka s podacima dodaju se kada se iste vrijednosti počnu ponavljati u zahtjevima.

Sažmite ovu objavu uz: