jmeter processors controllers
Преглед предпроцесора и контролера у ЈМетер-у (Део ИИИ):
=> Овде пратите свеобухватну серију бесплатних ЈМетер водича
Овај чланак води кориснике кроз употребу предпроцесора, постпроцесора и контролера у ЈМетер-у. Контролери су врло корисни јер праве ваше тест сценарије.
Можда ћете желети да тестирате различите сценарије у којима желите да конфигуришете сопствени редослед захтева који се шаље серверу да надгледа време одзива и друге факторе учинка.
Шта ћете научити:
- Предпроцесори
- Кориснички параметри
- Узорак је истекао
- Контролери
- Пример у реалном времену
- ЈМетер-ов образац за снимање
- Закључак
- Препоручено читање
Предпроцесори
То су елементи који се извршавају пре него што се изврши самплер. Пре-Процессор можете да повежете са самплером за који желите да унесете неке измене у захтев.
Најједноставнији случај би могао бити додавање претпроцесора „Сампле Тимеоут“ са ХТТП захтевом тако да се овај захтев извршава само одређено време. Такође осигурава да се ова модификација врши само за надређени Самплер.
Испод су неки од претходних процесора који се користе у ЈМетеру:
- Предобрађивач љуске зрна
- Рашчлањивач ХТМЛ везе
- Поновно писање ХТТП УРЛ адресе
- ЈДБЦ Препроцессор
- Временско ограничење узорка
- Кориснички параметри
Најчешће коришћени су објашњени у наставку са примерима. У вашим пројектима вам може или не треба све. Покушајте да идентификујете сценарије повезане са вашим пројектом и примените оне који вам помажу да покривате сценарије перформанси у стварном времену.
Кориснички параметри
Кориснички параметри користе се за дефинисање вредности за променљиве пре него што се користе у Самплерсима. Када ЈМетер изврши овај елемент Пре-Процессор, он чува вредности у променљивим на које могу да се позову било који Самплери у истој групи нити.
прегледајте моју веб страницу у различитим прегледачима
Ако имате више нити од броја корисника у „Корисничким параметрима“, додатне нити ће поново поновити вредности.
На пример, имате 5 корисника у групи нити, али само 3 у претпроцесору, а затим 4тхи 5тхнит ће користити парам1 и парам2 .
Узорак је истекао
Овај предпроцесор се користи за дефинисање временског ограничења за захтеве.
На пример, ако сте ставили време узорковања од 400 милисекунди, тада ће сви захтеви који узимају време> 400 имати неуспели одговор.Молимо погледајте доленаведене снимке екрана.
Контролери
Контролери су веома важни за изградњу ЈМетер плана тестирања у стварном времену. Дефинише редослед слања захтева на сервер.
На пример, Ако желите да тестирате веб апликацију у којој желите да се пријава догоди једном и да претражите, захтеви за одабир ставки иду један по један за све итерације. Контролери то омогућавају управљањем протоком захтева који иде на тестирани сервер.
Испод су најчешће коришћени контролери у ЈМетер-у
- Једноставни контролер
- Контролер модула
- Једном само контролер
- Интерлеаве Цонтроллер
- Лооп Цонтроллер
- Ако контролер
- За сваког контролера
- Контролер снимања и слично,
Једноставни контролер
Једноставни контролер не извршава никакве посебне функције. То је само врста контејнера у којем можете чувати сличне захтеве како бисте свој план теста учинили лако разумљивим.
Лооп Цонтроллер
Ако желите да неки одређени захтев покрене више итерација него што је наведено у Тхреад Гроуп, можете их ставити под Лооп Цонтроллер и унети број петљи у подешавања контролера.
Пример: Ако имате групу нити са 1 корисником и 3 итерације, тада ће се сви ваши захтеви из ове групе покренути 3 пута. Сада, ако имате два ХТТП Самплера испод контролера петље са бројем петљи 2, оба ова Самплера би радила 1 * 3 * 2 = 6 пута.
Молимо погледајте доленаведене снимке екрана који то додатно објашњавају
Једном само контролер
Овај контролер се користи када желите да покренете неки одређени захтев само једном, чак и ако имате више нити у групи нити. Најједноставнији пример који се може узети у обзир је „Преузимање почетне странице веб странице“ или „Пријава у веб апликацију“. Сценарио у стварном времену би желео да се то догоди само једном, а други захтеви попут претраживања или уређивања / брисања нечега да се десе више пута.
Захтев који треба да се изврши само једном може се ставити под Контролер само једном. Погледајте референцу испод снимка екрана. Једном подешавања само контролера заобилазе поставке надређене групе нити.
Контролер снимања
Баш као и Симпле Цонтроллер, контролер снимања не мења ниједан редослед захтева који се шаљу серверу. Користи се са ХТТП (С) Сцрипт Рецордер-ом. Сви захтеви који су забележени овим нетестираним елементом чувају се под контролом снимања.
Морате одредити циљни контролер да бисте снимљене захтеве упућене на сервер сачували.
Контролор снимања и снимач скрипти ХТТП (с) појављују се на слици када тестери немају информације о УРЛ адресама захтева и параметрима. Они могу једноставно снимити и ухватити све захтеве који погађају њихове сервере. Ово функционише како за мобилне, тако и за веб пројекте.
Цонтроллер протока
Овај контролер се такође користи за контролу тока извршавања. Као што се види у доњем исечку, овај контролер је даље подељен на два дела:
Проценат извршења - Овај избор учиниће да Јметер изврши само одређени проценат укупних итерација за Самплере постављене испод овог контролера. Такође можете да означите поље за потврду „По кориснику“ да бисте то контролисали на нивоу корисника.
На пример, Група нити је конфигурисана да има 10 корисника, а број петљи је 5. Према томе, укупне итерације су 50. Ако је% извршавања постављено на 50%, тада ће сви Самплери под контролом протока направити само 25 итерација (50% од 50).
Укупно извршења - Ово омогућава корисницима да одреде број итерација директно за узоркиваче садржане под овим контролером.
Интерлеаве Цонтроллер
Овај контролер вам омогућава да повећате обим тестирања перформанси модификујући секвенцу на н начина, тако да можете да тестирате оптерећење на серверу када апликације ударају у захтев различитим секвенцама. Интерлеаве Цонтроллер врши алтернативне изборе са узорцима испод.
У случају да се под овим блоком чувају други контролери попут Једноставног контролера, интерлеаве контролер даје привилегију да одабере по један узоркивач из контејнера за сваку итерацију. Да бисте то даље објаснили, размотрите доњи план испитивања.
Дакле, Јметер ће понављати алтернативно између контролера за сваку итерацију. Стога ће редослед бити наведен у наставку
Захтев1 -> Захтев3 -> Захтев 5 - Захтев2 -> Захтев4 -> Захтев6
Молимо погледајте доље ЈМетер резултате са бројем нити = 2 и бројем петљи = 2.
шта је 7з датотека мац
У горњем примеру, Јметер је преплитање са следећом петљом / итерацијом. Постоје подешавања у Интерлеаве Цонтроллер која могу натерати ЈМетер да шаље алтернативне захтеве са сваком новом нити.
Погледајте резултате у наставку. Ово је корисно у сценаријима где желите секвенцијално или истовремено учитавање учитавања сервера са различитим редоследом захтева са исте машине.
Рандом Цонтроллер
Ради готово као Интерлеаве контролер, али не бира узорке редом. Он само случајно бира подконтролере и узоркиваче у њима.
Ако контролер
Ако Цонтроллер ради на сличан начин, ИФ израз се третира у било ком програмском језику. Прво се проверава услов, а затим се компоненте под овим контејнером извршавају ако је услов ТРУЕ, у супротном ће се извршити елементи изван ИФ Цонтроллер-а.
Пример : Настављајући са једним од ранијих примера који укључује Интерлеаве Цонтроллер, сада је један од два Интерлеаве контролер задржан под ИФ Цонтроллер анд Цондитион “$ (ЦОУНТ)<10 is added as a condition. Variable COUNT is defined in config element “User Defined Variables” and is given a value equal to 11. Configuration is described below
Дефинисање и додељивање вредности променљивој ЦОУНТ.
Дефинисање стања у Ако контролер подешавања. Јметер ће потврдити овај услов и ако је ИСТИНА, извршиће блокове испод овог контејнера.
Као што видите одоздо, план тестирања извршиће се само Захтев3, Захтев4 и Захтев5 у случају да се УСЛОВ оцени као Нетачно .
Док контролори
Овај контролер извршава компоненте испод њега док услов не постане нетачан.
На пример, рецимо да имамо услов док ($ (цоунт)<10), it will execute the child elements until the condition is false. To test this, there should be a counter which gets increment or decrement on each iteration and then condition is evaluated. Config Element “Counter” can be used to serve this purpose.
Конфигуришите конфигурацијски елемент „Бројач“ да започне са 1, а затим повећава на свакој итерацији. Погледајте испод за више објашњења:
Осврнућемо се на остале контролере у нашим видео упутствима.
Пример у реалном времену
Размотримо сценарио у којем тим за тестирање не зна УРЛ-ове и параметре свих захтева који погађају сервер на тестирању. Сада, да би тестирали учитавање сервера, они требају да евидентирају захтеве, а затим модулирају учитавање секвенцијално или истовремено и од њих креирају сценарије да би извршили тестирање перформанси.
Кораци
најбољи софтвер за креирање дијаграма тока
- Додајте шаблон у Јметер за контролер снимања
- Поставите прокси у свом прегледачу и одаберите исти порт у ХТТП (с) Сцрипт Рецордер
- Снимите захтеве
- Измените план испитивања и повећајте оптерећење
- Групирајте трансакције у складу с тим
- Испробајте различите комбинације захтева
ЈМетер-ов образац за снимање
ЈМетер такође има неки предефинисани образац. Изаберите опцију „Предложак“ у менију Датотека. Након одабира предлошка одаберите опцију „Снимање“ у прозору који се отвори и кликните на Цреате.
Чим одаберете овај образац за снимање, видећете неке компоненте које су већ додате у тестном плану.
- Снимач скрипти ХТТП (с) у радном столу
- Задане вредности ХТТП захтева и ХТТП менаџер колачића
- Контролер снимања под групом нити.
Можете да извршите проки подешавања у свом прегледачу да бисте разговарали са ЈМетер проки сервером или да користите ЦХРОМЕ Ектенсион Блаземетер за снимање захтева, а затим извоз. јмк датотеку у Јметер. Постоје многа друга проширења за снимање скрипте, а затим извоз у ЈМетер. Алат БАДБОИ такође добро функционише са Јметром за снимање хитова на вебу и на мобилним уређајима.
Кликните на. јмк опција за извоз снимљеног захтева у Јметер. Сада из Јметра отворите. јмк датотеку и погледајте захтеве и параметре повезане са сваким захтевом.
Закључак
До сада се претпоставља да сте се сви добро упознали са основном логиком ЈМетера, како он симулира оптерећење, како се играти са различитим типовима Самплера, како контролисати ток извршења помоћу контролера и користећи променљиве и функције за покретање петљи кроз итерације. Ово сигурно није крај серије лекција о ЈМетеру.
Постоји много видео туторијала да прате шта ће тестере са више руку водити према различитим сценаријима у Јметру и како се свака ЈМетер компонента може најбоље искористити.
=> Овде погледајте комплетну листу ЈМетер видео туторијала
Молимо поделите своје коментаре или питања са нама.
Препоручено читање
- Јметер контролори 1. део
- Јметер контролори, део 2
- Како постићи ЈМетер корелацију на примеру
- Рад са ХТТП захтевима у ЈМетер-у
- Рад са ФТП захтевом у ЈМетер-у
- Коришћење постпроцесора у ЈМетер-у (екстрактор регуларног израза)
- Топ 5 ЈМетер додатака и како их користити (са примерима)
- ЈМетер Тајмери: Константни, БеанСхелл и Гуассиан Рандом Тимер