how use preprocessors jmeter
В този урок ще се научите да използвате JMeter PreProcessor и как работят PreProcessors като SampleTimeOut, UserParameter, HTMLLinkParser и т.н.:
PreProcessor винаги изпълнява действието преди заявката за семплер.
По-долу е списъкът с предварителните процесори, използвани в JMeter:
- Потребителски параметри
- Примерно изчакване
- Предпроцесор JSR223
- JDBC препроцесор
- Преработвател на черупки на боб
- Анализатор на HTML връзка
- Модификатор за пренаписване на HTML URL
- Потребителски параметри на RegEx
=> Щракнете тук за Пълното безплатно обучение за JMeter (20+ видеоклипа)
Какво ще научите:
JMeter PreProcessor Video Tutorial
Предпроцесорите са действия, които се извършват преди действителният ви семплер да работи в JMeter. Може да е нещо като съхраняване на стойности на променлива, дефиниране на изчаквания и т.н. Препроцесорът може да бъде добавен на ниво група нишки или ниво на семплер.
SampleTimeOut PreProcessor може да дефинира времето за извадка за заявка. Всяко време за вземане на проба, което е повече от определеното, ще бъде неуспешно. UserParameter PreProcessor се използва за дефиниране на стойности за променливи за конкретни потребители.
Пример , можете да дефинирате стойност за променлива за конкретни потребители и когато семплерът се изпълни, стойностите, посочени в този препроцесор, се взимат.
HTMLLinkParser анализира всички връзки от отговора на предишната заявка и след това можете да ударите произволно всяка от връзките на страницата. Можете да посочите „. *“ По пътя си и той ще избере всяка произволна връзка, присъстваща на страницата, и ще я удари със същия протокол, използван в определен протокол.
как да върна масиви в java -
Често използван JMeter PreProcessor
Нека да разгледаме няколко от предварителните процесори на JMeter:
# 1) Препроцесор JSR223
Предварителният процесор JSR223 изпълнява преди заявката на семплера и изпълнява операцията, използвайки скрипта JSR223. Няколко езика, които могат да се използват, са JAVA, Groovy, BeanShell, JEXL и др.
Следвайте стъпките по-долу, за да добавите този предпроцесор:
- Добавете група нишки в план за тестване.
- Добавете Sampler “HTTP Request”.
- Добавете JSR223 Предпроцесор.
- Добавете слушател „Преглед на дървото на резултатите“.
Пример :
Следният скрипт може да бъде написан с помощта на JavaScript за промяна на HTTP Request Sampler:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
Наличните JSR223 променливи за използване на скрипт са както следва:
- Дневник: Тази променлива може да се използва за запис в регистрационния файл.
- Параметри: Параметри като низ.
- Етикет: Това е етикет на низ.
- Име на файл: Име на файла на скрипт, ако е добавен външен скрипт
- Чий: Това е променлива JMeter, която дава достъп за четене и запис до променливите.
- Пробоотборник: Осигурен е достъп до текущия семплер.
- аргументи: String масив като параметър
- реквизит: JMeter свойства
- ctx: Това е контекстът на JMeter, който осигурява достъп до контекста
- ВЪН: За да отпечатате съобщението (system.out)
# 2) JDBC препроцесор
Този процесор може да се използва за изпълнение на SQL заявки преди изпълнението на семплера.
За да добавите предварителния процесор, се следват стъпките по-долу:
- Добавете група нишки към плана за тестване.
- Добавете Sampler “HTTP Request”.
- Добавете HTTP Header Manager.
- ДОБАВЕТЕ JDBC PreProcessor към групата нишки.
- Добавете слушател като „Преглед на дървото на резултатите“.
Пример:
В случай, че потребителят иска да извлече потребителско име и парола за потребителите:
- Добавете група нишки към тестовия план.
- Добавете Sampler “HTTP Request” (подробности за необходимите данни за потребителско име и парола също могат да бъдат предоставени в основната част на семплера, но това няма да послужи за целта, тъй като актуализирането на някоя от тези подробности ще трябва да бъде актуализирано в скрипта добре)
- Добавете конфигурационен елемент “HTTP Header Manager” и предоставете подробности за името и стойността.
- Добавете JDBC препроцесор.
Тип заявка може да бъде избран от падащото меню като Изберете Statement и Query може да бъде посочен за извличане на същото в полето Query.
Променливите, които трябва да бъдат извлечени, могат да бъдат осигурени с разделяне на запетая.
- Добавете слушател „Преглед на дървото на резултатите“ и стартирайте тестовия план, за да видите резултатите.
Предпроцесор JDBC има поле Тип заявка които могат да бъдат избрани според изискването.
Както в случай, че потребителят иска актуализиране подробностите, Изявление за актуализация ще трябва да се използва. По същия начин, както се изисква, може да бъде избран друг тип заявка.
Пример за изготвена декларация за избор:
В случай, че потребителят трябва да отмени идентификатора на назначението на пациент от записите, отнасящи се до името на пациента, потребителят трябва да конфигурира JDBC връзката и след това трябва да добави JDBC препроцесор, избирайки типа на заявката като Подготвено Изявление. Изпълнете плана за тестване. Резултатите могат да се видят от добавения слушател.
# 3) Анализатор на HTML връзки
Този процесор се използва за анализиране на HTML отговора и за извличане на всички връзки и формуляри.
Следвайте стъпките по-долу, за да добавите предварителния процесор:
- Добавете група нишки към плана за тестване.
- Добавяне на семплер „HTTP заявка“
- Добавете обикновен контролер.
- Добавете още един семплер “HTTP Request”.
- Добавете препроцесор за парсер на HTML връзка.
- Добавете слушател „Преглед на дървото на резултатите“.
Пример:
За да видите как могат да се обхождат вътрешните страници, могат да се изпълнят следните стъпки:
- В Thread Group добавете Sampler “HTTP Request” и предоставете името на сървъра или IP. Преименувайте името на семплера като HTTP Request_Main.
- Добавете Simple Controller към плана за тестване.
- Добавете още един семплер “HTTP Request” и предоставете име на сървър или IP и също така предоставете /. * в пътя, за да може да обходи всички намерени връзки. Преименувайте името на семплера като HTTP Request_Internal.
- Добавете препроцесор “HMTL Link Parser” и слушател като “View Result Tree”, за да видите изхода.
Следвайки горните стъпки, изходът за първия семплер ще бъде името на уебсайта в полето за заявка, докато за втория семплер изходът ще бъде вътрешните страници, обходени в предоставения уебсайт. Вижте снимките на екрана по-долу за същото.
# 4) Модификатор за пренаписване на HTTP URL адрес
За управление на URL адреса на информацията за сесията се използва техника за пренаписване. Има предимство, че дори бисквитката да е деактивирана на която и да е система, тя все още има потенциал да работи.
За да добавите предварителния процесор, се следват стъпките по-долу:
- Добавете групата нишки към плана за тестване.
- Добавете HTTP заявка към плана за тестване.
- Добавете препроцесор “HTTP URL Re-write Modifier” към тестовия план.
- Добавете още един Sampler “HTTP Request” към нишката.
Можем да използваме този препроцесор, както следва:
Този препроцесор може да бъде приложен към нивото на нишката и към конкретния семплер. Ако се приложи на ниво нишка, той ще добави аргумента за всяка заявка, която е там в нишката.
Име на аргумента на сесията : Името на параметъра за идентификатор на сесия трябва да бъде посочено в това поле. Името на параметъра може да бъде намерено в отговор. Този параметър ще бъде търсен на страницата и където и да бъде намерен, ще бъде взета присвоената му стойност.
unix командва интервюта въпроси и отговори за опитни
Разширение на пътя: В случай че приложението пренапише URL адреса, като добави точка и запетая и също така включва идентификатора на сесията, тази опция трябва да бъде избрана.
Не използвайте равни в разширението на пътя: В случай, че приложението пренапише URL адреси без '=' знак между името на параметъра и стойността, тази опция трябва да бъде проверена.
Не използвайте въпросителен знак в разширението на пътя - Ако от приложението се изисква да спре низа на заявката от затваряне или завършване в разширението на пътя, опцията трябва да бъде проверена.
Идент. № на кеш сесията: В случай, че идентификаторът на сесията е необходим за по-късно използване, тази опция трябва да бъде избрана.
Кодиране на URL: В случай, че се изискват кодирани URL адреси, тази опция трябва да бъде избрана.
# 5) RegEx потребителски параметри
Този препроцесор позволява на динамичната стойност за HTTP параметри да бъде извлечена от HTTP заявка с екстрактора на регулярни изрази. Той е настроен на независими нишки в тестов план.
За да добавите предварителния процесор, се следват стъпките по-долу:
- Добавете група нишки в план за тест.
- Добавете HTTP заявка към група нишки с име на сървър или IP.
- Добавете постпроцесор „Екстрактор на регулярни изрази“, за да извлечете стойности.
- Добавете друга HTTP заявка към група нишки и предоставете име на сървър или IP.
- Добавете препроцесор “Regex User Parameter” към втората HTTP заявка.
Този препроцесор може да се използва, както следва:
Име на референтния редовен израз: Посоченото име на препратка ще съдържа променливите, които трябва да са били анализирани от първата HTTP заявка.
Име на параметри номер на групата на регулярни изрази: 1 представлява тази група 1 от регулярния израз. Ще върне имена на променливите .
Номера на групата на регулярните изрази на стойностите на параметъра 2 представлява тази група 2 от регулярния израз. Ще върне стойности на променливите .
# 6) Препроцесор на BeanShell
Този препроцесор получава произволна стойност от определен списък. Той може да генерира произволни низове за присвояване на стойности на променливите.
Препроцесорът BeanShell е добавен под семплера.
За да добавите предварителния процесор, се следват стъпките по-долу:
- Добавете група нишки към плана за тестване.
- Добавете Sampler към групата нишки.
- Добавете “BeanShell Preprocessor” към добавения семплер.
Пример:
В случай, че дефинираната от потребителя променлива е зададена на „true“ като стойност и тази стойност трябва да бъде променена на „false“, посочената по-долу команда може да се използва за същото. (Delete е дефинирана от потребителя променлива, чиято стойност трябва да бъде променена))
vars.put(“delete”,”false”);
Ако трябва да се използва някакъв външен скрипт, в този случай файлът може да бъде качен за скрипта в полето Име на файла. Осигурена е опция Преглед, за да качите външния файл.
Често задавани въпроси за JMeter Preprocessor
В # 1) Какво представлява препроцесорът в JMeter?
Отговор : Preprocessor е елементът, който се използва за изпълнение на действията преди изпълнението на заявката за семплер. Съществуват редица предварителни процесори, които могат да се използват за постигане на различни цели като запазване на стойност в променливата, получаване на данни от бази данни и др. Предварителните процесори могат да се добавят или на ниво Sampler, или на ниво нишка.
В # 2) Какво представлява Beanshell Preprocessor в JMeter?
Отговор : BeanShell е базиран на скрипт и е вграден компонент на JMeter. Този препроцесор се използва за изпълнение на скрипта, преди да се изпълни Sampler.
Заключение
Препроцесори на JMeter - както обсъдихме, се изпълнява точно преди изпълнението на семплера. JSR223 и Beanshell са препроцесори, базирани на скриптове, докато JDBC се използва за дейности в базата данни, тъй като се изисква извличане или извличане на данни.
Анализатор на HTML връзка и потребителски параметър RegEx не се използват толкова популярно, колкото другите препроцесори, но изпълняват целта според изискванията и имат свои собствени предимства.
Препоръчително четене
- Слушатели на JMeter: Анализиране на резултатите с различни слушатели
- Параметризиране на данни на JMeter, използвайки дефинирани от потребителя променливи
- Променливи и функции на JMeter
- Как да постигнем JMeter корелация с пример
- Топ 5 приставки за JMeter и как да ги използвате (с примери)
- Таймери на JMeter: Постоянен таймер, BeanShell и Guassian
- Контролери на Jmeter Част 2
- Контролери на Jmeter Част 1