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