detail description jmeter components
Pregled komponent Jmeter (del II):
=> To je del serije treningov JMeter. Tukaj si oglejte seznam vseh vadnic v tej seriji .
Upam, da ste vsi že šli skozi Uvod in namestitev JMeter do sedaj. Ko nadaljujemo z naslednjo v seriji, je zelo priporočljivo, da vsi namestite JMeter in vadite drug ob drugem.
V tej vadnici bi se bralci seznanili z njimi vse komponente JMeter in kako jih uporabiti v preskusnem načrtu da zajame vse možne scenarije testiranja učinkovitosti za preizkus AUT (Application Under Test).
Elementi Jmetra so bili navedeni v prejšnjem članku.
Kaj se boste naučili:
- Komponente JMeter
Komponente JMeter
Ponovno napišite za referenco:
- Testni načrt
- ThreadGroup
- Vzorčevalniki
- Poslušalci
- WorkBench
- Trditve
- Konfiguriraj element
- Logični krmilniki
- Časovnik
Vse glavne komponente Jmetra, kot so skupina niti, vzorčevalci, poslušalci in elementi konfiguracije, so podrobneje razložene v nadaljevanju članka.
Glejte spodnji diagram poteka, da boste razumeli vsako komponento in njihov odnos do določenih modulov JMeter.
Zdaj bi se začeli dotikati vsake komponente Jmetra skupaj s primeri uporabe, samo da bi vedeli, kako deluje in kako jih lahko preizkuševalci uporabijo pri svojem testiranju. Upoštevajte, da v tem članku ne bomo pokrivali vseh Samplerjev, poslušalcev. Delali bomo na najbolj uporabljenih, počitek pa bomo začeli v naslednjem članku, ko bomo ustvarili preskusne načrte v realnem času.
Testni načrt
Tako kot preprost testni načrt pri preizkušanju programske opreme vključuje vse korake, ki izvajajo skript, ima JMeterjev testni načrt enak namen. Vse, kar je vključeno v testni načrt, se izvede v zaporedju od zgoraj navzdol ali v skladu z opredeljenim zaporedjem v testnem načrtu.
Načrt preizkusa je lahko tako preprost, kot je lahko, z Just ThreadGroup, Sampler in Listener in se začne zapletati takoj, ko začnete dodajati več elementov, kot so elementi konfiguracije, predprocesorji ali krmilniki.
Kot vsi vemo, da JMeter meri zmogljivost z generiranjem navideznih uporabnikov ali niti, ki zadene strežnik na preizkusu, kot da pravi uporabniki pošiljajo zahteve strežniku. Zato bi moral imeti vsak testni načrt navidezne uporabnike ali skupino niti, kot jih imenujemo JMeter.
Pomembne točke glede testnega načrta:
- Pred zagonom je treba shraniti testni načrt
- Datoteke Jmeter ali preskusni načrti se shranijo v obliki. Datoteke z razširitvami JMX
- Del preskusnega načrta lahko shranite tudi kot drugačen izbor. Na primer, Če želite shraniti HTTP Request Sampler s poslušalcem, ga lahko shranite kot Test Fragment, da ga lahko uporabite tudi v drugih testnih scenarijih
- Elementi WorkBencha se ne shranijo s preskusnim načrtom
Skupina niti
Skupina niti je skupina uporabnikov, ki bo zadevni strežnik udarila hkrati ali v določenem zaporedju. Skupino niti lahko dodate v preskusni načrt z desnim klikom na preskusni načrt. JMeter je vse “Desni klik”, vse možnosti dobite z desnim klikom.
Ime skupine niti lahko preimenujete v svoje. Samo spremenite ime in kliknite kjer koli zunaj okna testnega načrta, videli boste, da se ime spreminja.
Glejte spodnji posnetek zaslona za dodajanje skupin niti
implementacija algoritma najkrajše poti dijkstra v javi
(Opomba: Kliknite na poljubno sliko za povečan pogled)
Zelo pomembno je, da konfigurirate svojo skupino niti v skladu s preskusnimi pogoji.
Na primer, če želite preizkusiti, kako se spletni strežnik obnaša, ko ga 100 uporabnikov sočasno zadeva, lahko nastavite skupino niti, kot je prikazano spodaj:
V bistvu obstajajo trije glavni parametri, ki jih je treba konfigurirati za ustvarjanje dejanske obremenitve ali navideznih uporabnikov:
- Število niti (uporabniki) - Določa število navideznih uporabnikov. Za namene testiranja bi morali ustvariti le omejeno količino obremenitve, saj bi ustvarjanje velike količine hkrati pomenilo, da bi porabili veliko niti, kar lahko na koncu privede do velikega izkoriščanja CPU.
- Obdobje rampe - To polje je zelo pomembno pri nadzoru ustvarjanja obremenitve. Obdobje rampe določa čas, v katerem bo ustvarjena celotna obremenitev.
Primer 1:
- To pomeni, da bo vseh 10 uporabnikov istočasno zadevalo strežnike takoj, ko se preizkus izvede
2. primer:
- Vsi ste zagotovo opazili potrditveno polje »Načrtovalec« na zgornjem posnetku zaslona. Če želite, da se preizkus zažene ob določenem času pozneje, lahko nastavite čas, kot lahko vidite tudi na spodnjem posnetku zaslona. To pomeni, da bo vsakih 1 s novi uporabnik udaril strežnik. Obremenitev ne bo sočasna, ampak v korakih. Do 10thdrugič, vsi uporabniki bi zadeli zahtevo.
- Število zank - Določa, kolikokrat se bo skupina niti izvedla. Če potrdite potrditveno polje Za vedno, bo preizkus deloval večno, razen če ga ročno ustavite. S tem lahko preizkusite nekaj, na primer »Če se strežnik nekaj minut ne zruši pri neprekinjeni obremenitvi«.
Vzorčevalniki
Torej, kako Jmeter ve, kakšna vrsta zahteve je bila poslana strežniku ???
- Skozi vzorčevalnike. V testni načrt morate dodati vzorčevalnike, saj lahko le ta Jmeteru sporoči, kakšno vrsto zahteve je treba preusmeriti na kateri strežnik in s katerimi koli vnaprej določenimi parametri ali ne. Zahteve so lahko HTTP, HTTP (s), FTP, TCP, SMTP, SOAP itd.
Vzorčevalce je mogoče dodati v skupino niti, ne neposredno v preskusnem načrtu, saj morajo skupine niti uporabiti vzorčevalnik za pošiljanje zahteve na URL strežnika, ki je preizkušen. Vzorčevalnik lahko dodate po poti Skupina niti -> Vzorčevalnik -> HTTP zahteva.
Zahteve HTTP
To so najpogostejše zahteve, poslane strežnikom. Pravi, na primer, želimo, da zadeva 100 uporabnikov https://www.google.com sočasno je to mogoče storiti, kot je opisano na spodnjem posnetku zaslona:
kaj je dobra aplikacija za prenos datotek mp3 za android
- Pot je navigacija znotraj glavnega spletnega mesta. Če želimo na primer pritisniti http://www.google.com/gmail, lahko na poti nastavimo “/ Gmail” in ostalo ostane enako
- V imenu strežnika ni treba vnašati “www”
- Številka vrat se uporablja, če uporabljate kateri koli proxy strežnik
- Časovno povezavo in odziv lahko nastavite, če želite imeti merilo za čas povezave strežnika in odzivni čas. Vaša zahteva ne bo uspela, če strežnik potrebuje več časa za pošiljanje odgovora kot nastavljeni
- Konfigurirate lahko tudi parametre, ki jih želite poslati z vašo zahtevo. Na primer: V nekaterih primerih boste morda morali s svojo zahtevo poslati žeton za avtorizacijo, zato ste jih dodali v zahtevo HTTP, kot je prikazano spodaj:
FTP zahteve
Pot -> Načrt preizkusa -> Skupina niti -> Vzorčevalnik -> Zahteva FTP
FTP pomeni protokol za prenos datotek in se uporablja za nalaganje ali prenos datoteke s strežnika. Niti JMeter pošiljajo zahteve strežnikom FTP za nalaganje ali nalaganje datotek od tam in merijo zmogljivost.
- Lokalna datoteka je mesto, kamor morate shraniti preneseno datoteko
- Če prenašate s strežnika FTP, uporabite možnost GET
- Uporabniška možnost POST, če na FTP strežnik nalagate katero koli datoteko
Imamo veliko poslušalcev, ki bodo zajeti, ko gremo skozi nekaj resničnih preizkusnih načrtov, ki vključujejo vzorčevalce, poslušalce, konfiguracijske elemente itd.
Poslušalci
Tako smo do zdaj videli le nekaj vzorčevalcev, ki pošiljajo zahteve na strežnik, vendar odziva še nismo analizirali. Testiranje učinkovitosti je namenjeno analiziranju odzivov strežnika v različnih oblikah in nato predstavitvi istega odjemalcu.
Poslušalci se uporabljajo za prikaz rezultatov izvajanja preizkusa, tako da preizkuševalci spoznajo statistiko. V Jmetru imamo približno 15 poslušalcev, večinoma pa se uporabljajo tabela, drevo in graf.
Ogled rezultatov v tabeli:
To je najpogosteje uporabljena in lahko razumljiva oblika poslušalcev. Rezultat prikazuje v obliki tabele z nekaterimi pomembnimi parametri učinkovitosti.
Poslušalce lahko dodate neposredno pod testnim načrtom ali pod vzorčevalnikom. Razlika je v tem, da ko dodate poslušalca pod vzorčevalnik, bo prikazal rezultate samo tega vzorčevalnika. Če vzorčevalnik dodamo neposredno pod preskusni načrt, prikaže rezultat za vse vzorčevalnike v hierarhiji.
Spodnji posnetek zaslona za referenco:
Rezultati so prikazani spodaj:
- Latenca : To je čas, ko je prejet prvi podatek, tj. Prejet je prvi bajt podatkov
- Povežite čas : Čas je potreben za vzpostavitev povezave s strežnikom
- Vzorec časa : Čas je potreben za prejem popolnih podatkov
- Vzorec - Zaporedje številke vzorca
- Bajti - Velikost prejetih podatkov.
Ogled rezultatov v drevesu:
To je še en najpogosteje uporabljen poslušalec in ponuja podrobne informacije z zahtevo in odzivom. Ogledate si lahko tudi stran HTML, ki je upodobljena, razen Json, XML, Text, RegEx.
Zelo koristno je, ker lahko preizkuševalci trdijo o prejetem odzivu, da se zagotovi, da je test uspešno opravljen. Rezultati Jmetra še vedno kažejo 'Pass', tudi če odziv ni zaželen.
Na primer: Recimo, zadeli smo zahtevo HTTP na katerem koli spletnem mestu www.xyz.com in v odgovor pričakujemo XYZ ali z enostavnimi besedami, ko zadenemo to stran, se domača stran podjetja odpre z imenom. Če trditve nismo postavili, bo Jmeter še vedno prikazoval rezultate, saj je zadetek prešel na strežnik.
Spodaj si oglejte obliko rezultatov:
Za ogled strani HTML v odgovoru kliknite spustni meni v levem podoknu in nato izberite »HTML«, pojdite na zavihek odziva in preverite stran, ki se vrne kot odgovor strežnika.
Delovna klop
Delovna miza je kraj, kamor lahko shranite tiste elemente, ki niso v uporabi v vašem trenutnem preskusnem načrtu, vendar jih je mogoče kasneje kopirati. Ko shranite datoteko JMeter, se komponente, ki so prisotne v delovnem okolju, ne shranijo samodejno. Shranite jih ločeno z desnim klikom in izberite možnost »Shrani kot«.
Potem vsi morda razmišljate, kakšna je uporaba delovne mize, vseeno pa je enostavno dodati katero koli komponento neposredno v preskusni načrt Jmeterja.
Razlog za delovno mizo je bil ta, da je uporabnik lahko izvedel nekaj poskusov in preizkusil nove scenarije. Kot že vemo, elementi v delovnem okolju niso shranjeni, zato lahko uporabnik dobesedno uporabi kar koli in nato zavrže. Obstaja pa nekaj 'netestiranih komponent', ki so na voljo samo v WorkBenchu.
Tu so navedeni:
- Zrcalni strežnik HTTP
- Snemalnik testnih skriptov HTTP (s)
- Prikaz lastnosti
Snemalnik testnih skriptov HTTP (s) je najpomembnejši nepreizkusni element, ki se uporablja v JMeteru. Preskuševalcem pomaga pri snemanju skripta in nato pri konfiguriranju obremenitve za vsako transakcijo.
Jmeter beleži samo zahtevo, poslano strežniku. Ne mešajte se s funkcijo snemanja in predvajanja QTP / Selenium. Vse zahteve so zabeležene in preizkuševalci lahko nanje uporabijo želeno obremenitev, da vidijo vedenje.
Ta element je zelo pomemben za scenarije, ko preizkuševalci ne vedo, kaj vse se dogaja iz njihove aplikacije. Za snemanje aplikacije, ki se testira, lahko uporabijo zapisovalnik skriptov Http (s).
Testiranje zmogljivosti mobilnih aplikacij lahko izvedemo tudi na ta način, tako da nastavimo proxy JMeter in nato zapišemo zahteve, ki jih naša mobilna aplikacija pošlje strežniku. Postopek za testiranje zmogljivosti v korakih po korakih bo razložen v naslednjem članku.
Trditve
Do zdaj smo obravnavali, kako JMeter zadene strežnik in kako se odzivi prikažejo prek poslušalcev. Če želimo zagotoviti, da je prejeti odgovor pravilen in v skladu s pričakovanji, moramo dodati trditve. Trditve so preprosto potrditve, na katere moramo dati odgovore, da primerjamo rezultate.
Spodaj so navedene vrste trditev, ki se pogosto uporabljajo:
- Trditev odgovora
- Trajanje trditev
- Trditev o velikosti
- Trditev XML
- Trditev HTML
Trditev odgovora
V trditvi odgovora lahko dodamo lastne nize vzorcev in jih nato primerjamo z odgovori, prejetimi s strežnika. Na primer, vsi veste, da je koda odziva 200, ko katera koli zahteva uspešno vrne določen odgovor. Torej, če dodamo niz vzorca “Response Code = 202”, potem testni primer ne bo uspel.
Glejte spodnje posnetke zaslona, da dodate trditev kode odziva.
Zdaj, ko se preizkus pokaže, prikaže rezultat z rdečo barvo, ki označuje, da rezultati trditve niso uspeli.
Trajanje trditev
Trajanje Trditev je zelo pomembna in potrjuje, da se je strežnik odzval v določenem času. To lahko uporabimo v scenarijih, ko moramo vzorčiti 100 zahtev in zagotoviti, da je vsakič, ko je odgovor prejet znotraj referenčne meje.
Ovitek : 10 uporabnikov sočasno zadeva strežnik »google.com« in Trajanje trditve je nastavljeno na 1000 ms. Prosimo, glejte spodnje posnetke zaslona:
XML Assertion preveri, ali imajo odzivni podatki pravilni dokument XML in HTML Assertion preveri sintakso HTML odgovora, prejetega s strežnika.
Konfiguriranje elementov
Zahteve, poslane strežniku, je mogoče nadalje parameterizirati z uporabo nekaterih konfiguracijskih elementov, ki se izvedejo pred dejansko zahtevo. Preprost primer tega je lahko branje vrednosti spremenljivke iz datoteke CSV, za katero se uporablja konfiguracija nabora podatkov CSV.
primer binarnega drevesa kode Java
Spodaj je nekaj pomembnih nastavitvenih elementov, ki se uporabljajo pri preizkušanju zmogljivosti spletnih in mobilnih aplikacij
- Konfiguracija nabora podatkov CSV.
- Uporabniško določene spremenljivke
- HTTPS zahteva privzeto
- Upravitelj predpomnilnika HTTPS
- Upravitelj piškotkov HTTPS
Konfiguracija nabora podatkov CSV
Konfiguracija nabora podatkov CSV pomaga Jmetru pri izbiri vrednosti nekaterih parametrov iz datoteke CSV, namesto da v vsaki ločeni zahtevi posreduje drugačen parameter. Na primer, če moramo preizkusiti prijavno funkcionalnost z drugačnim naborom uporabnikov in gesel, potem lahko v datoteki CSV ustvarimo dva stolpca in tam vnesemo vrednosti, tako da lahko JMeter izbere enega za vsako zahtevo, poslano strežniku.
Spodaj je opisan postopek uporabe nabora podatkov CSV config za preizkušanje vremenskega API-ja za različna mesta v Indiji.
- Dodajanje konfiguracijskega elementa nabora podatkov CSV v načrt preskusa
- Ustvarjanje datoteke CSV
- Posredovanje spremenljivke v parametru zahteve. Parameter APPID je mogoče dinamično generirati iz http://openweathermap.org/appid
- Izvajanje testa in ogled rezultatov.
Uporabniško določene spremenljivke
Jmetru pomaga izbrati vrednosti iz vnaprej določene spremenljivke. Na primer, podpora, da morate ustvariti preskusni načrt, v katerem morate na isti URL dodati veliko zahtev HTTP in lahko obstaja scenarij, v katerem ga odjemalec namerava kasneje preseliti na drug URL. Torej, da se izognete posodabljanju URL-ja v vsaki zahtevi JMeterju lahko naročimo, da izbere URL iz UDV (User Defined Variable), ki ga je mogoče kasneje posodobiti, da obravnava vse zahteve po posodobljenem URL-ju.
Da bi se izognili posodabljanju URL-jev v vsaki zahtevi, lahko JMeterju naročimo, da izbere URL iz UDV (User Defined Variable), ki ga je mogoče kasneje posodobiti, da obravnava vse zahteve za posodobljeni URL.
Privzete nastavitve zahteve HTTP
Ta konfiguracijski element je zelo uporaben za določanje privzetih vrednosti https zahtev. Če vas želimo voditi več, si oglejte primer, kjer moramo na google strežniku zadeti 50 različnih zahtev. V tem primeru, če dodamo privzeto zahtevo HTTP, nam ni treba določiti imena strežnika, poti ali drugih lastnosti, kot so številka vrat, povezava lastnosti časovne omejitve. Karkoli je določeno v HTTP zahtevi Privzeti konfiguracijski element podedujejo vse zahteve HTTP.
Če v tem primeru dodamo privzeto zahtevo HTTP, nam ni treba določiti imena strežnika, poti ali kakršnih koli drugih lastnosti, kot so številka vrat, lastnosti časovne omejitve povezave. Karkoli je določeno v HTTP zahtevi Privzeti konfiguracijski element podedujejo vse zahteve HTTP.
Spodaj si oglejte, kako dodate privzeto zahtevo HTTP in določite strežnik in pot.
Upravitelj predpomnilnika HTTP in Upravitelj piškotkov HTTP se uporabljajo, da se JMeter obnaša kot brskalnik v realnem času. Upravitelj predpomnilnika HTTP lahko počisti predpomnilnik po vsaki zahtevi, drugi pa lahko upravlja nastavitve piškotkov.
Logični krmilniki in časovniki
Logični krmilniki in časovniki Jmeterju pomagajo nadzirati potek transakcij. Časovniki zagotavljajo zamudo v vsaki niti, če je treba preizkusiti kateri koli strežnik. Na primer, če potrebujemo zahtevo FTP, da po zaključku zahteve HTTP počakamo 5 sekund, lahko tam dodamo časovnik.
Logični krmilniki se uporabljajo za določanje toka zahtev, ki se pošljejo strežniku. Omogoča vam lahko tudi shranjevanje zahtev za vsak modul posebej, kot sta prijava in odjava.
Zaključek
Do zdaj ste se že vsi dobro seznanili s komponentami JMeter-a in ga že poskusili uporabiti ter se soočate z nekaterimi težavami. V naslednjem članku bomo zajeli nekaj scenarijev testiranja učinkovitosti v realnem času, ki zajemajo domeno mobilnosti, tako da boste vsi dobili več praktičnega znanja o JMeteru.
Ostani na vezi! Naslednji članek vam bo pomagal pri upravljanju vaših zahtev, analiziranju rezultatov in primerjavi z merili preizkušanja učinkovitosti.
=>Nadaljujte z branjem dela III: Procesorji in krmilniki JMeter
=> Kliknite tukaj za JMeter Vadnice: Popoln brezplačen trening na JMetru (20+ videoposnetkov)
Priporočeno branje
- Kako doseči korelacijo JMeter s primerom
- Načrt preskusov Jmeter in WorkBench
- Delo z zahtevo FTP v JMetru
- Top 5 vtičnikov JMeter in kako jih uporabiti (z primeri)
- JMeter Timers: Constant, BeanShell in Guassian Random Timer
- Delo z zahtevami HTTP v JMetru
- Jmeter krmilniki 1. del
- Jmeter krmilniki 2. del