Kas yra loginis valdiklis?
„Logic Controllers“ leidžia apibrėžti užklausos apdorojimo tvarką gijoje. Tai leidžia jums valdyti „kada“ siųsti vartotojo užklausą į interneto serverį. Pvz., Galite naudoti atsitiktinius valdiklius, jei norite atsitiktinai siųsti HTTP užklausas į serverį
Loginiai valdikliai nustato vartotojo užklausos vykdymo tvarką .
Kai kurie dažniausiai naudojami „Logic“ valdikliai yra žemiau:
Įrašymo valdiklis:
„JMeter“ gali įrašyti jūsų testavimo veiksmus; įrašymo valdiklis yra vietos rezervavimo priemonė šiems įrašymo veiksmams išsaugoti.
Paprastas valdiklis:
Paprastas valdiklis yra tik talpykla vartotojo prašymui.
Ciklo valdiklis:
Ciklo valdiklis priverčia vartotojo užklausą vykdyti nurodytą skaičių kartų arba paleisti amžinai, kaip parodyta paveikslėlyje:
Atsitiktinis valdiklis:
Atsitiktinis valdiklis priverčia visas vartotojo užklausas vykdyti atsitiktine tvarka kiekvienu ciklo laikotarpiu.
Pvz., Turite 3 naudotojo užklausas į svetainę http://www.google.com tokia tvarka:
- HTTP užklausa
- FTP užklausa
- JDBC prašymas
Šios 3 užklausos turėtų būti vykdomos 5 kartus. „Google“ serveriui „JMeter“ išsiųs 15 vartotojų užklausų.
Pagal eilės tvarką užklausos siunčiamos nuosekliai tokia tvarka:
HTTP užklausa -> FTP užklausa-> JDBC užklausa
kiekvienai kilpai.
Be atsitiktinių tam, prašymai siunčiami atsitiktinai,
FTP užklausa -> HTTP užklausa-> JDBC užklausa
Arba
JDBC užklausa -> FTP užklausa-> HTTP užklausa
Kiekvienai kilpai.
Modulio valdiklis:
„Module Controller“ tikslas yra pridėti „JMeter“ moduliškumą.
Bendra mintis yra ta, kad žiniatinklio programas sudaro nedideli funkcionalumo vienetai (ty Prisijungimas, Sukurti paskyrą, Atsijungimas ...). Ši funkcija gali būti saugoma paprastame valdiklyje kaip „moduliai“. Modulio valdiklis pasirinks, kurį modulį reikia paleisti.
Apsvarstykite šį scenarijų -
Norite imituoti:
- 50 atsijungiančių vartotojų ,
- 100 prisijungiančių vartotojų
- 30 vartotojų ieško www.google.lt
JMeter galite naudoti norėdami sukurti 3 modulius. Kiekvienas modulis imituoja kiekvieną vartotojo veiklą: prisijungimą, atsijungimą ir paiešką.
Modulio valdiklis pasirenka, kurį modulį reikia paleisti.
Kiti svarbūs valdikliai:
- Interleave Controller: pasiima ir paleidžia vieną vartotojo užklausą kiekvienoje gijos kilpoje.
- „Runtime Controller“: kontroliuoja, kiek laiko jos vaikams leidžiama bėgioti.
Pavyzdžiui, jei „Runtime Controller“ nurodėte 10 sekundžių, „JMeter“ testą vykdys 10 sekundžių.
- Operacijų valdiklis: matuoja bendrą laiką , kurio reikia bandymo vykdymui užbaigti
- Įtraukti valdiklį: sukurtas naudoti išorinį bandymų planą. Šis valdiklis leidžia naudoti kelis „JMeter“ bandymų planus. Išsamiau žr. „JMeter Performance Testing“.
Ciklo valdiklio pavyzdys
Šiame skyriuje pateikiamos nuoseklios instrukcijos, kaip pridėti „ Loop Controller“ rinkinį prie dabartinio našumo bandymo plano.
Loop Controller leidžia mėginių ėmiklius paleisti tam tikrą skaičių kartų, be to, ciklo reikšmę nurodėte siūlų grupei. Pavyzdžiui, jei jūs
- Pridėkite vieną HTTP užklausą prie ciklo valdiklio su kilpų skaičiumi 50
- Konfigūruokite gijų grupės kilpų skaičių iki 2
- Tada „JMeter“ iš viso išsiųs 50 * 2 = 100 HTTP užklausų.
Tai yra šio pavyzdžio gairės :
1 žingsnis) Konfigūruokite siūlų grupę
„ JMeter Performance Testing“ pamokoje pakartotinai naudojame 1, 2 žingsnius.
-
Pridėti gijų grupę
Dešiniuoju pelės mygtuku spustelėkite testavimo planą ir pridėkite naują gijų grupę: Pridėti -> Gijos (Vartotojai) -> Gijų grupė
Tačiau „Thread Group“ valdymo skydelyje įveskite „Thread Properties“ taip:
Tai atliks vieną vartotojo užklausą žiniatinklio serveryje google.com ir vykdys 2 kartus.
-
Pridėti JMeter elementus
Pridėkite HTTP užklausos numatytąjį adresą adresu www.google.com.
-
Pridedamas ciklo valdiklis
Dešiniuoju pelės mygtuku spustelėkite „Thread Group“ -> Logic Controller -> Loop Controller
2 žingsnis) Konfigūruokite kilpos valdiklį
Pridėkite 50 reikšmę lauke Ciklo skaičius, kaip parodyta žemiau. Tai sukels vieną vartotojo užklausą žiniatinklio serveriui google.com, kad ji būtų vykdoma 50 kartų, be kilpos vertės = 2, kurią nurodėte aukščiau esančiai temų grupei. Taigi „JMeter“ iš viso išsiųs 2 * 50 = 100 HTTP užklausų.
Dešiniuoju pelės mygtuku spustelėkite „Loop Controller“, „Add -> Sampler -> HTTP request“
3 žingsnis) Pridėkite rodinių rezultatus lentelėje
Mes vėl panaudojame 2 veiksmą laikmačiu, kad lentelėje būtų įtraukti rodinio rezultatai
Taigi bandymo planas parodytas žemiau esančiame paveiksle
4 žingsnis. Paleiskite testą
Dabar grįžkite Peržiūrėti rezultatus lentelėje, spustelėkite meniu mygtuką Pradėti (Ctrl + R), kad paleistumėte bandymą
Kaip parodyta toliau pateiktame paveikslėlyje, „JMeter“ imituoja vieną vartotojo užklausą, kuri yra siunčiama 100 kartų, į žiniatinklio serverį http://www.google.com/. Testas sustabdomas po to, kai 100 kartų buvo išsiųsta vartotojo užklausa.
Problemų sprendimas:
- Jei susiduriate su problema vykdydami pirmiau pateiktą scenarijų ... atlikite šiuos veiksmus
- Patikrinkite, ar prisijungiate prie interneto per tarpinį serverį. Jei taip, pašalinkite tarpinį serverį.
- Atidarykite naują „Jmeter“ egzempliorių
- Atidarykite „ControllerTestPlan.jmx“ sistemoje „Jmeter“
- Spustelėkite Gijų grupė -> Peržiūrėti rezultatą lentelėje
- Atlikite testą