data parameterization jmeter using configuration elements
Цей посібник пояснює параметризацію даних у JMeter за допомогою елементів конфігурації для вибору даних із файлів замість ручного налаштування.
Елементи конфігурації Jmeter - це змінні, які згодом використовуються пробовідбірниками. Запити, зроблені пробниками, можуть бути додані або змінені за допомогою елементів конфігурації.
JMeter надає елементи конфігурації, щоб можна було відтворити реальну поведінку Інтернету.
=> Клацніть тут для Пройдіть безкоштовне навчання на JMeter (20+ відео)
Що ви дізнаєтесь:
- Відео-посібник з параметризації даних
- Елементи конфігурації JMeter
- # 1) Конфігурація набору даних CSV
- # 2) За замовчуванням запиту FTP
- # 3) Менеджер кешу DNS
- # 4) Менеджер авторизації HTTP
- # 5) Менеджер кешу HTTP
- # 6) Менеджер файлів cookie HTTP
- # 7) За замовчуванням запиту HTTP
- # 8) Менеджер заголовків HTTP
- # 9) Налаштування KeyStore
- # 10) За замовчуванням вимагає запит LDAP
- # 11) За замовчуванням розширений запит LDAP
- Поширені запитання про елементи конфігурації JMeter
- Висновок
Відео-посібник з параметризації даних
Елементи конфігурації JMeter
Різні типи елементів конфігурації JMeter перелічені нижче:
- Конфігурація набору даних CSV
- За замовчуванням FTP-запит
- Менеджер кешу DNS
- Менеджер авторизації HTTP
- Менеджер кешування HTTP
- Менеджер файлів cookie HTTP
- За замовчуванням HTTP-запит
- Менеджер заголовків HTTP
- За замовчуванням Java-запит
- Конфігурація підключення JDBC
- Налаштування KeyStore
- Елемент налаштування входу
- За промовчанням запит LDAP
- Розширені запити LDAP за замовчуванням
- Конфігурація пробовідбірника TCP
- Визначені користувачем змінні
- Випадкова змінна
- Лічильник
- Простий елемент конфігурації
- Конфігурація джерела MongoDB (ЗНИЖЕНО)
- Конфігурація болтового з'єднання
Давайте розглянемо деякі загальновживані елементи конфігурації JMeter.
# 1) Конфігурація набору даних CSV
CSV використовується для зчитування рядків із файлу та перетворення їх у змінні. Конфігурація набору даних CSV служить для джерела даних, яке може подавати велику кількість даних відповідно до сценарію, який ви тестуєте.
Якщо користувач хоче протестувати веб-програми для 50 користувачів з різними обліковими даними, йому не потрібно створювати 50 сценаріїв. Тепер все, що потрібно зробити, - це створити файл із записом користувача (ім’я користувача, пароль) і завантажити цей файл у CSV. CSV перетворює всі рядки даних у змінні.
Давайте розглянемо приклад нижче, щоб зрозуміти, як дані можна читати з файлу CSV і друкувати в дереві перегляду результатів.
# 1) Створіть план тесту
# два) Додайте групу потоків із кількістю користувачів як 1, період нарощування 1 секунда та кількість циклів як 5.
# 3) Додайте елемент конфігурації як набір даних CSV Config.
- Завантажте файл CSV із наведеними нижче даними:
- Введіть імена змінних як Ім'я користувача та Пароль із розділяючими комами роздільником.
- Виберіть Recycle on EOF як true, щоб файл перечитувався, як тільки досягне EOF.
# 4) Додати пробовідбірник: Налагоджувальний пробовідбірник.
# 5) Додати слухача: Переглянути дерево результатів.
# 6) Запустіть план тестування, натиснувши кнопку «Пуск» у верхньому меню.
Друкуються змінні значення файлу CSV
Оскільки кількість потоків вибрано як 5, а файл CSV містить дані лише до 3 рядків, він перечитує файл ще раз і друкує значення, починаючи з 1 для 4гопробовідбірник.
Нижче наведено опис кожного поля:
Налаштуйте джерело даних CSV
Ім'я файлу : Назва файлу, який буде прочитано та перетворено у змінні. З цим полем надається можливість перегляду файлу для завантаження.
Щоб вказати шлях до файлу, ви можете безпосередньо вказати ім'я файлу, якщо ваш CSV знаходиться в папці BIN каталогу JMETER, інакше вкажіть повний шлях вашої системи.
Кодування файлу: Щоб прочитати файл, кодування, яке буде використано, потрібно вибрати зі спадного меню.
Кодування файлу має наступні доступні опції:
Якщо жоден параметр не вибрано, буде використано платформу за замовчуванням. Це не обов’язкове поле.
Назва змінної : Список змінних наведено тут і повинен бути відокремлений символом роздільника. Якщо в цьому полі нічого не вказано, перший рядок файлу читається і розглядається як назва стовпця.
Використовуйте перший рядок як ім'я змінної : Якщо ім'я змінної порожнє, тоді перший рядок повинен мати заголовки. Якщо ім’я змінної не є порожнім, буде використаний перший рядок файлу CSV.
Розділювач: Дані у файлі можна розділити за допомогою розділювача.
Дозволити цитовані дані: Він перевіряє, чи слід цитувати дані файлу CSV чи ні. Користувач може вибрати параметр True / False зі спадного меню.
Утилізувати на EOF: Він вказує, чи слід перечитувати файл, коли дійде до кінця. EOF розшифровується як Кінець файлу. За замовчуванням вибраним значенням є True.
Зупинити нитку на EOF? Він запитує, чи слід зупиняти повторне читання, як тільки воно досягне EOF, або продовжувати. За замовчуванням вибране значення хибне.
Режим спільного доступу:
- Усі теми: Файл доступний для всіх потоків.
- Поточна група ниток: Кожен файл відкривається для кожної групи потоків.
- Поточний потік: Файл відкривається для кожного потоку.
- Визначте: Загальний ідентифікатор використовується для спільного використання файлу між кількома групами.
# 2) За замовчуванням запиту FTP
JMeter також підтримує протокол FTP. Сценарії можна робити за допомогою FTP, FTPS та SFTP у JMeter.
Використовувати за замовчуванням запит FTP:
- Створіть план тесту.
- Додати групу ниток.
- Додайте елемент конфігурації “За замовчуванням FTP-запит”.
- Додати пробовідбірник: запит FTP.
- Додати слухача: переглянути результати в таблиці.
Вихідні дані відображаються у Перегляді результатів у таблиці:
Нижче докладно допоможе дізнатися більше про поля в FTP за замовчуванням:
- Ім'я сервера або IP : Тут слід вказати ім’я FTP-сервера або IP-адресу. Надані деталі сервера, на якому буде розміщено файл, або його можна взяти звідти.
- Номер порту: Це з FTP-сервер . За замовчуванням використовується номер порту 21.
- Віддалений файл: Коли файл потрібно оголосити глобально, тоді в цьому полі повинен бути вказаний єдиний шлях до файлу на FTP-сервері, інакше його також можна залишити порожнім.
- Локальний файл: Те саме, що і віддалений файл - поле можна залишити порожнім, потрібно вказати шлях для локального сервера, коли файл потрібно оголосити глобально.
- Зміст локального файлу: Тут можна надати вміст вихідного файлу, який можна використовувати під час завантаження на сервер.
- Отримати (RETR): Файл, який потрібно завантажити з FTP-сервера.
- Покладіть (STOR): Щоб завантажити файл на FTP-сервер
- Використовуйте двійковий режим: Цей режим слід скасувати для текстових файлів, для всіх інших файлів слід вибрати бінарні опції.
- Зберегти файл у відповіді: Вибір цієї опції означає, що вихідні дані будуть зберігатися як дані відповіді FTP.
# 3) Менеджер кешу DNS
Менеджер кешування DNS можна використовувати безпосередньо в рамках плану тестування або групи потоків .
Менеджер елементів кешу DNS допомагає у тестуванні програм для таких сценаріїв, як послуги, не перериваються через збій екземпляра або з будь-якої іншої причини. JMeter використовує кеш за замовчуванням як кеш-пам'ять JVM DNS.
JMeter надсилає запит Load Balancer, який додатково розподіляє запити між кількома програмами, кажучи, що три програми перебувають на випробуванні. Іноді те, що відбувається, коли запит надходить лише до одного AUT, причиною цього є ідентифікація DNS-кешів на рівні JVM.
Також читайте = >> Як очистити кеш DNS
Менеджер кешу DNS допомагає вирішити цю проблему наступним чином:
- Додайте менеджер кешування DNS у план тестування та виберіть опцію “ Використовуйте спеціальний вирішувач DNS ” і надайте ім’я хосту або IP-адреси та запустіть тест. Він потрапляє як на IP-адреси, так і не на одну.
- Під час використання запиту HTTP завжди вибирайте Httpclient4 .
- Диспетчер кешування DNS слід використовувати в рамках плану тестування або елемента групи потоків.
Опис поля:
- Очистити кеш кожної ітерації: Вибір цієї опції очищає кеш DNS кожного потоку після запуску нового циклу.
- Розв'язувач DNS системи користувача: Якщо користувач хоче використовувати системний вирішувач DNS.
- Ім'я хоста або IP-адреса: Відомості про DNS-сервери, які будуть використовуватися.
- Хост та ім'я хоста або IP-адреса: Статичний хост та ім'я хоста або IP-адреса відображаються.
# 4) Менеджер авторизації HTTP
Менеджер авторизації HTTP дозволяє нам входити в систему користувачів для сторінок веб-програми, обмежених використанням автентифікації сервера. Він відображає діалогове вікно журналу, якщо користувач намагається підключитися до сторінки з обмеженнями.
що таке регресійне тестування в qa
Очистити авторизацію на кожній ітерації: Якщо вибрано цей параметр, аутентифікація на кожній ітерації буде здійснюватися незалежно від автентифікації, виконаної в попередній групі потоків чи ні.
Базова URL-адреса: URL-адреса, яка відповідає одній або декільком URL-адресам HTTP.
Ім'я користувача : Ім'я користувача для авторизації.
Пароль : Пароль для вищевказаного імені користувача.
Домен : Домен для NTLM.
Царство : Сфера для NTLM.
Механізм : Який механізм автентифікації повинен бути виконаний.
Візьмемо приклад, щоб зрозуміти те саме.
Спробуйте увійти на сайт за URL-адресою: https://httpbin.org/basic-auth/user/passwd Він покаже вікно автентифікації.
У разі неправильного імені користувача чи пароля або якщо елемент конфігурації не ввімкнено, він повернеться Код відповіді -401
А у випадку правильних деталей і якщо елемент config увімкнено - він повернеться Код відповіді -200
# 5) Менеджер кешування HTTP
Менеджер кешування HTTP використовується для збереження всіх завантажених статичних файлів під час виконання. Це робиться лише в тому випадку, якщо вибрано параметр «Отримати всі вбудовані ресурси». І це не збереже вже збережені, поки не буде зроблена будь-яка модифікація.
Очистити кеш у кожній ітерації:
Використовуйте конфігурацію групи потоків для керування очищенням кешу:
Використовуйте заголовок кешування / керування / термін дії під час обробки GET запитів. Вибравши цей параметр, контроль / термін дії кешу буде перевірено відповідно до поточного часу.
Максимальна кількість елементів у кеші: За замовчуванням значення становить 5000 на користувача. Весь кеш зберігається в оперативній пам'яті. У випадку, якщо користувач ставить значення більше 5000, сервер може створити виняток 'Недостатньо помяті ' так само.
Давайте подивимося, як він поводиться, коли ми використовуємо опцію заголовка кешування / закінчення терміну дії та коли ми не використовуємо його.
Тепер виберіть третій варіант і повторно запустіть план тесту:
Вибір параметра зменшив час вибірки та затримку.
# 6) Менеджер файлів cookie HTTP
Менеджер файлів cookie HTTP має функцію, що якщо користувач має будь-який запит і відповідь HTTP, має файл cookie, менеджер файлів cookie зберігає цей файл cookie і використовуватиме його для подальшого використання для цього конкретного сайту.
Скажімо, браузер Edge, Firefox та Chrome використовуються для перегляду веб-сайту. Коли користувач входить із іменем користувача та паролем, він зберігається в системі як файл cookie. Наступного разу, коли користувач відвідає той самий веб-сайт, йому не потрібно буде вводити такі дані, як ім'я користувача та пароль, оскільки вони вже зберігаються в системі як файли cookie.
Очищайте файли cookie на кожній ітерації : На кожній ітерації, тобто коли цикл потоку виконується один раз, файли cookie на сервері будуть очищені.
Візьмемо приклад, щоб зрозуміти:
- Додайте групу ниток до плану тестування з кількістю циклів 3
- Додайте HTTP Cookie Manager як елемент конфігурації в групу потоків
- Додайте HTTP-запит, де вкажіть ім’я та шлях сервера
- Додати слухача “ Переглянути дерево результатів ”І спостерігайте за результатами:
Відповідно до наведених вище результатів, ми можемо побачити, що в першому запиті на ітерацію відсутні файли cookie, тоді як усі інші запити містять дані cookie.
Тепер додайте деталі в елемент конфігурації диспетчера файлів cookie, як показано на малюнку нижче, і спостерігайте за тим самим результатом.
# 7) За замовчуванням запиту HTTP
Ця конфігурація дозволяє користувачеві встановлювати значення за замовчуванням для контролера запитів HTTP.
Приклад: Якщо ви відправляєте 50 запитів HTTP на сервер xyz.com - користувач повинен 50 разів ввести “ім'я сервера = xyz.com” для 50 запитів HTTP, але за допомогою HTTP Request Default, користувач може зробити 50 HTTP запити, ввівши один раз ім’я сервера = xyz.com. Це економить час користувача.
Усі запити надходитимуть на наданий веб-сервер.
Елемент запиту HTTP за замовчуванням вказує на значення за замовчуванням, які використовуються елементами запиту HTTP.
Приклад використання елемента HTTP-запиту за замовчуванням:
- План випробувань: Додати За замовчуванням HTTP-запит та додайте ім'я сервера як tribuneindia.com
- Додати групу ниток
- Додайте два HTTP-запити, де надайте лише шлях:
- Додати слухача “Переглянути дерево результатів” і запустіть сценарій. У випадку, якщо шлях не вказаний, запит буде спрямований на сервер, наданий в елементі конфігурації HTTP Request Defaults.
# 8) Менеджер заголовків HTTP
Менеджер заголовків HTTP допомагає додавати або перекривати заголовки HTTP-запиту. JMeter підтримує декілька менеджерів заголовків. Список пробовідбірника складається із записів заголовків. Із записів заголовків, які об’єднуються, у випадку, якщо будь-який з них збігається з уже існуючою назвою заголовка, старий замінюється новим.
Accept-Language, Accept-Encoding, User-Agent, Referrer - це стандартні заголовки, які можна використовувати.
Ім'я та значення заголовка можна додати, натиснувши кнопку Додати.
Прийміть мову використовується для визначення того, який мовний сервер повинен надіслати відповідь назад у браузер.
Прийняти кодування: Accept coding визначає метод кодування, який сервер повинен використовувати для відповіді. Якщо сервер не може надіслати відповідь у прийнятому кодуванні, тоді сервер надішле надішліть повідомлення про помилку та код стану як 406.
Якщо у випадку, якщо поле прийняття кодування не надано, сервер вважатиме, що клієнт прийме будь-який метод кодування.
Користувач-агент: Агент користувача дозволяє знайти такі характеристики, як браузер, версія та операційна система веб-сервера. Коли браузер підключається до будь-якого з веб-сайтів, він надсилає агент користувача до нього. Агент користувача включений у заголовок HTTP.
Підтримувані браузери для менеджера заголовків HTTP такі:
- IE
- Firefox
- Сафарі
- Опера
- Chrome
Реферер: Коли один веб-сайт посилається на інший веб-сайт, адреса фіксується в HTTP-рефералі.
Давайте подивимося, як працює цей менеджер заголовків HTTP:
qa запитання та відповіді на співбесіду pdf
- Створіть план тестування та додайте в нього групу ниток.
- Додайте елемент керування HTTP Header Manager та додайте поля, такі як Accept-Language та Accept, з їх значеннями.
- Додайте HTTP-запит із іменем і шляхом сервера як web-сайт.com та логіном.
- Додати слухача “Переглянути дерево результатів” і запустіть сценарій і спостерігайте за результатами
Тепер додайте ще один заголовок HTTP і внесіть деякі зміни, наприклад Accept-language as SP-sp і в Прийняти а також повторно запустити сценарій.
Заголовки фіксуються лише з останнього менеджера заголовків, але вже існуючі заголовки не змінюються.
# 9) Налаштування KeyStore
Конфігурація магазину ключів полягає у налаштуванні KeyStore - як завантажувати та використовувати ключі.
Щоб дізнатись, хто підключається до сервера, деякі системи вимагають настроювання сертифікатів на стороні клієнта. Цей елемент config допомагає налаштувати те саме, але перед додаванням елемента KeyStore Config - Java Key Store слід налаштувати за допомогою сертифікатів клієнта.
Щоб зробити те саме, потрібно виконати такі дії:
Створити сертифікат:
- Використання утиліти Java Keytool
- Через PKI: якщо це робиться через PKI, його слід перетворити у формат, прийнятний для JKS
Додайте в систему наступне. файл властивостей:
javax.net.ssl.keyStore = шлях_до_магазину
javax.net.ssl.keyStorePassword = пароль_магазину
як знайти файли apk на планшеті android -
Попереднє завантаження : KeyStore для попереднього завантаження чи ні, можна вибрати, вибравши true або false.
Псевдонім сертифіката із змінним іменем: Ім'я змінної, яке буде складатися з псевдоніма, який буде використовуватися для автентифікації за сертифікатом клієнта.
Індекс початку псевдоніма (на основі 0): Індекс першого ключа, який буде використовуватися в KeyStore.
Індекс кінця псевдоніма (на основі 0): Індекс останнього ключа, який буде використаний у KeyStore.
# 10) За замовчуванням вимагає запит LDAP
За промовчанням запит LDAP дозволяє додавати значення за замовчуванням для тестування LDAP.
Якщо кількість запитів повинна бути зроблена на один і той же сервер LDAP, можна використовувати елемент налаштування за замовчуванням LDAP Request, оскільки користувачеві не доведеться вводити ті самі дані знову і знову для запиту LDAP.
Можна налаштувати чотири запити LDAP:
- Додати тест
- Видалити тест
- Пошуковий тест
- Змінити тест
Ці запити можна налаштувати, додавши запит LDAP до пробовідбірника, а потім змінивши ім'я на Додати / Видалити / Змінити / Пошук і вибравши властивість як Додати тест / Видалити / Змінити / Тест пошуку відповідно.
# 11) За замовчуванням розширений запит LDAP
Цей елемент конфігурації дозволяє додавати значення за замовчуванням для розширеного тестування LDAP.
Елемент LDAP Config має дев'ять тестових операцій, як визначено нижче:
# 1) Прив’язка нитки
Thread Bind використовується для запуску сеансу з сервером LDAP. Користувач надає ім’я користувача та пароль для початку сеансу. Надання неправильного пароля запускає анонімний сеанс, але той самий не зможе.
# 2) Розв’язання нитки
Розв’язати нитку - це операція, яка використовується для завершення сеансу.
# 3) Єдине прив’язування / відв’язування
Одинарне прив’язування / відв’язування працює як поєднання обох операцій. Він відкриває сеанс для перевірки дійсності імені користувача та пароля, а потім завершує сеанс.
# 4) Перейменувати запис
Як випливає з назви, він використовується для перейменування запису. Він також може бути використаний для переміщення запису в інше місце у дереві LDAP.
# 5) Додати тест
Це використовується для додавання об’єктів на сервер LDAP. Використовується операція “додавання” LDAP.
# 6) Тест на видалення
Тест на видалення використовується для видалення об’єкта з дерева LDAP.
Використовувана операція називається операцією LDAP 'видалення'.
# 7) Тест пошуку
LDAP “Пошук” для цього тесту виконується операція.
Можуть бути надані такі специфікації, як максимальний час, який повинен зайняти сервер для виконання пошуку, незалежно від того, чи повертається об’єкт чи ні (за замовчуванням він вважається лише помилковим). Якщо аналіз результату пошуку вибрано істинним, результат пошуку буде доданий до даних відповіді.
# 8) Порівняйте тест
Тест порівняння використовується для порівняння атрибута з уже відомим значенням. Загалом, він використовується для перевірки імені людини в групі, тобто чи існує вказане ім’я в цій групі чи ні, можна порівняти.
LDAP “ порівняти ”Використовується та сама операція.
# 9) Тест модифікації
Тест модифікації можна використовувати для додавання / видалення / видалення / заміни значень за допомогою LDAP “ модифікувати ”Операція.
Поширені запитання про елементи конфігурації JMeter
Q # 1) Що таке елемент Config у JMeter?
Відповідь : Запити, які надсилаються на сервер, змінюються або конфігуруються за допомогою елементів конфігурації в JMeter.
Q # 2) Що таке властивості потоку в JMeter?
Відповідь : Властивості потоку включають кількість потоків, які використовуються для виконання того самого сценарію, а також кількість ітерацій, які можна встановити з конфігурації.
Q # 3) Який елемент у JMeter відповідає кількості користувачів для імітації?
Відповідь : Thread Group відповідає кількості користувачів для імітації, оскільки кількість потоків може бути використана для налаштування користувачів на імітацію для перевірки продуктивності та взаємодії користувачів із додатком.
Висновок
Елементи конфігурації JMeter дозволяють користувачам отримати доступ до будь-якої змінної, яка додатково пов'язана зі значеннями в JMeter. Вони можуть змінювати значення запитів, які походять від пробовідбірника.
Елементи конфігурації можна додати, клацнувши правою кнопкою миші на доданому семплері, а потім вибравши елемент конфігурації зі списку. До них можна отримати доступ лише з того місця, де він розміщений, тобто зсередини гілки дерева.
У JMeter є ряд елементів конфігурації, про які йдеться у цій статті, і їх можна використовувати відповідно до вимог користувача.
=> Клацніть тут Пройдіть безкоштовне навчання на JMeter (20+ відео)
Рекомендована література
- Параметризація даних JMeter за допомогою користувацьких змінних
- Параметризація в QTP Пояснення на прикладах (Частина 1) - Підручник з QTP # 19
- Параметризація статичних значень у LoadRunner
- Як досягти кореляції JMeter на прикладі
- 5 найкращих плагінів JMeter та способи їх використання (із прикладами)
- Детальний опис компонентів JMeter
- Веб- і мобільні методи запису та параметризація в Neoload
- Змінні та функції JMeter