JMeter Elemendid ja komponendid: niidigrupp, proovivõtjad

⚡ Nutikas kokkuvõte

JMeter elemendid on iga testimisplaani ehituskivid: lõimegrupid loovad virtuaalseid kasutajaid, valimid saadavad päringuid, kuulajad kuvavad tulemusi ja konfiguratsioonielemendid pakuvad vaikesätteid ja andmeid, mida päringud vajavad.

  • 🔘 Lõimede grupp: Iga niit esindab ühte virtuaalset kasutajat, kes juhib testitavat rakendust.
  • ☑️ Proovivõtjad: Otsusta päringu protokoll – FTP, HTTP, JDBC, SMTP ja palju muud.
  • Kuulajad: Esitage tulemused graafiku, puuna, tabelina või logifailina.
  • 🧪 Konfiguratsiooni elemendid: Määrake vaikesätted ja muutujad, mida valimivõtjad kogu testi vältel uuesti kasutavad.
  • 🛠️ Andmepõhised käivitused: CSV andmestiku konfiguratsioon annab igale simuleeritud kasutajale erinevad volikirjad.
  • Kaasaegsed vasted: BSF Sampler on eemaldatud; praegune väljalasete skript on saadaval JSR223 ja Groovy.

JMeter Elemendid: lõimerühm, sämplijad, kuulajad ja konfiguratsioonielemendid

Milles element on JMeter?

Erinevad komponendid JMeter nimetatakse elementideks. Iga element on loodud konkreetseks otstarbeks.

Alloleval joonisel on toodud mõned levinumad elemendid JMeter ja näitab, kuidas nad lõimerühma all paiknevad.

JMeter elementide hierarhia diagramm koos lõimerühmaga ülalpool: proovivõtjad, loogikakontrollerid, kuulajad, konfiguratsioonielemendid, väited, taimerid ja protsessorid

Kõikide komponentide korraga õppimine tekitab segadust ja igavust. Siin arutame enne alustamist kohustuslikke komponente. testimine in JMeter.

Ülejäänud komponente arutatakse järgnevates õpetustes siis, kui neid kasutatakse. Selles õpetuses käsitletud elemendid on loetletud allpool.

Lõimide rühm

Lõimede rühm on lõimede kogum. Iga lõim esindab ühte kasutajat, kes kasutab testitavat rakendust. Põhimõtteliselt simuleerib iga lõim ühte reaalset kasutaja päringut serverile.

Lõimede rühma juhtelemendid võimaldavad teil määrata iga rühma lõimede arvu.

Näiteks kui määrate lõimede arvuks 100, JMeter loob ja simuleerib testitavale serverile 100 kasutajapäringut, nagu allolev diagramm illustreerib.

Diagramm a JMeter Lõimede rühm, mis simuleerib kasutajaid 1 kuni 100, igaüks neist saadab testitavale rakendusele päringu

Lõimede grupi paneelil on ka käivitusperiood, mis jaotab nende lõimede alguse aja peale, selle asemel, et käivitada iga kasutaja korraga.

Proovivõtjad

Nagu me juba teame, JMeter toetab HTTP, FTP, JDBC ja paljude teiste protokollide testimist.

Samuti teame, et lõimegrupid simuleerivad kasutajate päringuid serverile.

Aga kuidas teab lõimegrupp, millist tüüpi päringut (HTTP, FTP jne) ta peab esitama?

Vastus on proovivõtjad.

Kasutaja päring võib olla FTP-päring, HTTP-päring, JDBC-päring jne. Allolev joonis loetleb selles õpetuses käsitletud näidised.

Puudiagrammi loend JMeter proovivõtjad: FTP-päring, HTTP-päring, JDBC-päring, BSF-proovivõtja, juurdepääsulogi proovivõtja ja SMTP-proovivõtja

FTP taotlus

Kujutage ette, et soovite FTP-serveri jõudlust testida. Saate kasutada FTP-taotluste valimit JMeter selle ülesande täitmiseks. See kontroller võimaldab teil saata FTP-faili allalaadimise või faili üleslaadimise päringu FTP-serverisse.

Diagramm näitab JMeter FTP-päringu saatmine FTP-serverile faili üles- või allalaadimiseks

Näiteks kui soovite testitavast FTP-serverist alla laadida faili "Test.txt", peate konfigureerima mõned parameetrid JMeter nagu alloleval joonisel.

FTP-päringute näidispaneel, kus server on ftp.example.com, port 21, kaugfail Test.txt ja sisselogimine anonüümne

Paneel määrab serverile ftp.example.com, port 21, kaugfail Test.txt-sse ja valik get(RETR), seega JMeter saadab serverile FTP-käsu ja laadib faili alla.

HTTP taotlus

See proovivõttur võimaldab saata HTTP/HTTPS päringu veebiserverisse.

Mõelge allolevale näitele. JMeter saadab HTTP-päringu Google veebisait ja hangib sealt HTML-faile või pilte.

Diagramm JMeter HTTP-päringu saatmine Google Saidid ja HTML-i ning piltide vastuvõtmine

Õpetuses JMeter Jõudluse testimine, selgitame selle HTTP-päringu kohta lähemalt. See on kõige valimvõtja veebirakenduste testimine töö tugineb.

JDBC taotlus

See näidisprogramm võimaldab teil andmebaasi käivitada jõudluse testimine. See saadab JDBC päringu (SQL päringu) andmebaasi.

Diagramm JMeter SQL-päringu saatmine andmebaasiserverile ja tulemuse vastuvõtmine

Näiteks andmebaasiserveril on test_tbl-nimelises tabelis talletatud väli test_result. Soovite neid andmeid andmebaasiserverist pärida, et saaksite konfigureerida JMeter saata a SQL päringu sellele serverile andmete toomiseks.

JDBC päringute paneel, mille päringu tüübiks on seatud Select Statement ja päringuks select test_result from test_tbl, kus id = 1

Päringu tüüp on siin valikulause ja päring loeb select test_result from test_tbl where id = 1JDBC ühenduse konfiguratsiooni element peab esitama varu, millele muutuja nime väli osutab.

BSF proovivõtja

See proovivõttur võimaldab teil kirjutada proovivõtturi, kasutades a BSF skriptikeel.

Siin on näide BSF-i proovivõtjast JMeter, koos skriptikeele väljade, skriptile edastatud parameetrite ja kas tekstisisese skripti või välise skriptifailiga.

BSF Sampleri paneel väljadega skriptikeele, parameetrite, välise skriptifaili ja tekstisisese skripti sisu jaoks

Aegunud tugi: BSF elementide perekond asendati JSR223 elementidega ja seda enam ei kuvata. JMeter komponendi viidePraeguste versioonide puhul kasutage JSR223 proovivõtja koos Groovy, mis kompileerib skripti ja toimib koormuse all palju paremini. Ülaltoodud paneel on siin alles, kuna vanemad testimisplaanid sisaldavad seda endiselt.

Juurdepääs logi proovivõtturile

See näidisprogramm võimaldab teil lugeda juurdepääsulogisid ja genereerida HTTP-päringuid. Logikirjed võivad olla pildid, HTML, CSS jne.

Juurdepääsulogi näidise paneel, mis kuvab vaikimisi serveri ja pordi välju, TCLogParseri pluginaklassi ja logifaili asukohta

Parseri väli on vaikimisi seatud väärtusele org.apache.jmeter.protocol.http.util.accesslog.TCLogParserja logifaili asukoha väli osutab JMeter logi juures, mida soovite taasesitada.

SMTP proovivõtja

Meiliserveri testimiseks võite kasutada SMTP-proovivõtjat. Seda proovivõtjat kasutatakse meilisõnumite saatmiseks SMTP-protokolli abil.

SMTP-sampli paneel serveri sätete, meiliaadresside, autentimis- ja turvavalikute ning sõnumisätetega

Paneel koondab serveri seaded, meiliaadressid, autentimise ja sõnumi seaded ning prindib pordi välja kõrvale vaikespordid: SMTP 25, SSL 465 ja StartTLS 587.

Kuulajad

Kuulajad näitavad testi tulemusi. Nad saavad tulemusi esitada erinevates vormingutes, näiteks puu, tabeli, graafiku või logifailina.

Diagramm, mis näitab kuulaja tulemusi graafiku-, puu-, tabeli- ja aruandevaadetes.

. Graafiku tulemused listener kuvab serveri vastuseajad graafikul, mille all on trükitud valimite arv, keskmine, hälve, läbilaskevõime ja mediaan.

Graafikute tulemuste kuulaja, kes joonistab reageerimisaegu koos andmete, keskmise, mediaani, hälbe ja läbilaskevõime seeriatega

Kuva tulemuste puu näitab iga kasutaja päringu tulemust lihtsas HTML-vormingus, kusjuures Sampleri tulemuste vahekaardil on esitatud laadimisaeg, latentsusaeg, suurus ja vastuse kood.

Kuva tulemuste puu kuulaja, millel on vasakul päringute loend ja Sampleri tulemuste vahekaart, mis näitab vastusekoodi 200

Kuva tulemused tabelis näitab testi tulemuste kokkuvõtet tabeli kujul, üks rida proovi kohta.

Kuva tulemused tabelikuulajas, kus on veerud näidise numbri, algusaja, lõime nime, sildi ja näidise aja jaoks

Logifail salvestab sama kokkuvõtte tekstina, mida säilitatakse, kui test käivitatakse ilma GUI-ta.

Koondlogi kokkuvõte, mis loetleb valimivõtja sildid koos valimite arvu, keskmiste ja KOKKU reaga

Parim harjutus: GUI-kuulajad tarbivad mälu ja moonutavad tulemusi, seega käivitage reaalsed koormustestid mitte-GUI-režiimis ja avage salvestatud tulemuste fail pärast seda.

Konfiguratsioonielemendid

Konfiguratsioonielemendid määravad vaikesätted ja muutujad, mida proovivõtjad saavad hiljem kasutada.

Alloleval joonisel on näidatud mõned tavaliselt kasutatavad konfiguratsioonielemendid JMeter.

Puudiagramm JMeter konfiguratsioonielemendid: CSV andmestiku konfiguratsioon, HTTP küpsiste haldur, sisselogimise konfiguratsioonielement, HTTP-päringu vaikesätted ja FTP-päringu vaikesätted

CSV-andmekomplekti konfiguratsioon

Oletame, et soovite testida veebisaiti 100 kasutaja jaoks, kes logivad sisse erinevate sisselogimisandmetega. Te ei pea skripti 100 korda salvestama. Saate skripti parameetriteks muuta nii, et see sisestaks erinevad sisselogimisandmed. Selle sisselogimisteabe (näiteks kasutajanime ja parooli) saab salvestada tekstifaili. JMeter sisaldab elementi, mis võimaldab teil sellest tekstifailist erinevaid parameetreid lugeda. See on „CSV Data Set Config”, mida kasutatakse failist ridade lugemiseks ja nende muutujateks jagamiseks.

JMeter testimisplaani puu, kus sisselogimiskontrolleri ja HTTP-taotluse vaikesätete all on valitud CSV-andmestiku konfiguratsioon

See on CSV-andmete näide. See on tekstifail, mis sisaldab teie sihtveebisaidile sisselogimiseks kasutatavaid kasutajanimesid ja paroole.

Tekstifail csv_data.txt, mis sisaldab nelja komaga eraldatud rida kasutajanime, parooli ja küpsise pikkuse väärtusi

HTTP küpsiste haldur

Mõistame seda ühe näitega.

Kasutasite oma brauserit (Firefox, Chrome jne) sirvimiseks www.google.com.

Logite sisse oma kasutajanime ja parooliga.

Teie kasutajanimi ja parool salvestatakse teie arvutisse küpsistena.

Järgmine kord, kui külla lähete www.google.com, ei pea te uuesti sisse logima, sest teie brauser kasutab teie küpsiseid sisselogimiseks kasutajaandmetena.

HTTP küpsiste halduril on sama funktsioon mis veebibrauseril. Kui teil on HTTP-päring ja vastus sisaldab küpsist, salvestab küpsiste haldur selle küpsise automaatselt ja kasutab seda kõigi tulevaste päringute puhul sellele konkreetsele veebisaidile.

HTTP-päringu vaikesätted

See element võimaldab teil määrata vaikeväärtused, mida teie HTTP-päringu kontrollerid kasutavad.

Näiteks

Sa saadad serverile google.com 100 HTTP-päringut.

Kõigi 100 päringu jaoks peaksite serveri nime google.com käsitsi sisestama.

Selle asemel võiksite lisada ühe HTTP-päringu vaikesätete elemendi, mille väljale „Serveri nimi või IP” oleks määratud google.com, nagu allpool näidatud.

HTTP-päringute vaikesätete paneel, kus serveri nimi on google.com, port 80 ning ühenduse ja vastuse ajalõpud

Seda pole vaja 100 korda kirjutada. Seda elementi selgitatakse õpetuses üksikasjalikult. JMeter Jõudluse testimine.

Sisselogimise konfiguratsioonielement

Sisselogimise konfiguratsioonielement võimaldab teil näidisfailides kasutajanime ja parooli sätteid lisada või tühistada.

Näiteks soovite simuleerida ühe kasutaja sisselogimist veebisaidile. www.facebook.com kasutajanime ja parooliga. Selle kasutajanime ja parooli sätte lisamiseks kasutajataotlusse saate kasutada sisselogimise konfiguratsioonielementi.

Sisselogimise konfiguratsioonielemendi paneel, kus kasutajanimeks on sisestatud guru99 ja parooliväljale on sisestatud mask.

Sisselogimise konfiguratsioonielement vs. CSV-andmestiku konfiguratsioon

Sisselogimise konfiguratsioonielement CSV-andmekomplekti konfiguratsioon
Kasutatakse ühe kasutaja sisselogimise simuleerimiseks Kasutatakse mitme kasutaja sisselogimise simuleerimiseks
Sobib ainult sisselogimisparameetrite (kasutajanimi ja parool) jaoks Sobib suure hulga parameetrite jaoks

Need kaks elementi hõlmavad peaaegu kõiki volituste stsenaariume, millega kokku puutute. jõudluskontrolli tööriistad tööta.

KKK

See ütleb JMeter kui kaua aega kulub, enne kui kõik lõimed töötavad. Kümme lõime 100-sekundilise käivitusperioodiga algavad kümne sekundilise vahega. Liiga lühike käivitusperiood ujutab serveri üle ja tekitab tõrkeid, mida ükski päris kasutaja kunagi ei põhjustaks.

Taimerid lisavad päringute vahele pausi, et simuleeritud laadimine sarnaneks päris sirvimisele, mitte üleujutusele. Väited kontrollivad iga vastust, märkides näidise ebaõnnestunuks, kui olekukood, tekst või kestus ei vasta teie määratule.

Nad grupeerivad ja hargnevad enda alla kuuluvad päringud. Silmuskontroller kordab oma lapsi, If-kontroller käivitab need tingimuslikult ja tehingukontroller annab kogu grupi tulemustes ühe ajastatud sammuna teada.

Ei. Kuulajad, näiteks View Results Tree, puhverdavad iga näidist ja moonutavad nende esitatavaid numbreid. Käivita test mitte-GUI režiimis, kirjuta tulemused faili ja laadi see fail pärast testi lõppu kuulajasse.

Esmalt rakendatakse konfiguratsioonielemente ja eelprotsessoreid, seejärel käivitatakse sampler, seejärel järelprotsessorid, väited ja kuulajad. Ka ulatus on oluline: plaani tasemele paigutatud element rakendub igale selle all olevale päringule.

See on kasulik mustrite tuvastamiseks. Tulemuste faili assistendile edastamine toob esile kõige aeglasemad sildid, veakobarad ja reageerimisaja trendid palju kiiremini kui ridade lugemine. Enne tegutsemist kontrollige alati tulemust toorproovide põhjal.

Jah. See koostab mustandi. Groovy extracväärtuste määramine, kasulike koormuste loomine ja muutujate määramine JSR223 elemendi sees. Kontrollige iga soovitust, sest see viitab sageli aegunud BeanShelli API-le või muutujatele, mis JMeter ei paljasta.

Üks lõimegrupp ja üks sämplija. Kõik muu on valikuline. Praktikas lisatakse kuulaja, et tulemused oleksid nähtavad, ja vaikeväärtused või andmefail lisatakse siis, kui samad väärtused hakkavad päringutes korduma.

Võta see postitus kokku järgmiselt: