JMeter Елементи та компоненти: Група ниток, Семплери
⚡ Розумний підсумок
JMeter Елементи є будівельними блоками кожного плану тестування: групи потоків створюють віртуальних користувачів, семплери надсилають запити, слухачі відображають результати, а елементи конфігурації надають значення за замовчуванням та дані, необхідні цим запитам.
Що таке Element in JMeter?
Різні компоненти JMeter називаються елементами. Кожен елемент призначений для певної мети.
На малюнку нижче показано деякі загальні елементи JMeter і показує, як вони розташовані в групі потоків.
Вивчення всіх компонентів за один раз – це запрошення до плутанини та нудьги. Тут ми обговоримо компоненти, які необхідно знати, перш ніж ви зможете почати. Тестування in JMeter.
Решта компонентів будуть обговорені в міру їх використання в наступних навчальних посібниках. Елементи, що обговорюються в цьому навчальному посібнику, перелічені нижче.
Група ниток
Група потоків – це колекція потоків. Кожен потік представляє одного користувача, який використовує тестовану програму. По суті, кожен потік імітує один реальний запит користувача до сервера.
Елементи керування для групи потоків дозволяють встановити кількість потоків для кожної групи.
Наприклад, якщо встановити кількість потоків як 100, JMeter створить та змоделює 100 запитів користувачів до тестованого сервера, як показано на діаграмі нижче.
Панель «Група потоків» також має період нарощування, який розподіляє запуск цих потоків з часом, замість того, щоб запускати кожного користувача одночасно.
Пробовідбірники
Як ми вже знаємо, JMeter підтримує тестування HTTP, FTP, JDBC та багатьох інших протоколів.
Ми також знаємо, що групи потоків імітують запити користувачів до сервера.
Але як група потоків знає, який тип запиту (HTTP, FTP тощо) їй потрібно зробити?
Відповідь – семплери.
Запит користувача може бути FTP-запитом, HTTP-запитом, JDBC-запитом тощо. На рисунку нижче перелічені семплери, що розглядаються в цьому посібнику.
FTP запит
Уявімо, що ви хочете протестувати продуктивність FTP-сервера. Ви можете використовувати семплер FTP-запитів у JMeter щоб виконати це завдання. Цей контролер дозволяє надсилати FTP-запит «завантажити файл» або «завантажити файл» на FTP-сервер.
Наприклад, якщо ви хочете завантажити файл «Test.txt» із FTP-сервера, який тестується, вам потрібно налаштувати деякі параметри в JMeter як на малюнку нижче.
Панель налаштовує сервер на ftp.example.com, порт 21, віддалений файл до Test.txt та опція get(RETR), отже JMeter надсилає FTP-команду на цей сервер і завантажує файл.
Запит HTTP
Цей семплер дозволяє надсилати запит HTTP/HTTPS на веб-сервер.
Розглянемо наведений нижче приклад. JMeter надсилає HTTP-запит до Google веб-сайт та отримує з нього HTML-файли або зображення.
У підручнику JMeter Тестування продуктивності, ми детальніше пояснимо цей HTTP-запит. Це семплер, який найчастіше тестування веб-застосунків робота спирається на.
Запит JDBC
Цей семплер дозволяє виконувати завдання з бази даних тестування працездатності. Він надсилає запит JDBC (запит SQL) до бази даних.
Наприклад, сервер бази даних має поле test_result, що зберігається в таблиці з назвою test_tbl. Ви хочете запитувати ці дані з сервера бази даних, тому можете налаштувати JMeter відправити a SQL запит до цього сервера для отримання даних.
Тип запиту тут — оператор Select, а запит читається select test_result from test_tbl where id = 1Елемент конфігурації з’єднання JDBC повинен містити пул, на який вказує поле «Ім’я змінної».
Пробовідбірник BSF
Цей семплер дозволяє писати семплер за допомогою a BSF мова сценаріїв.
Ось приклад семплера BSF у JMeter, з полями для мови скрипта, параметрами, що передаються скрипту, та або вбудованим скриптом, або зовнішнім файлом скрипта.
Примітка про застаріле використання: Сімейство елементів BSF було вилучено з рекомендацій на користь елементів JSR223 і більше не відображається в JMeter посилання на компонентУ поточних випусках використовуйте Семплер JSR223 з Groovy, який компілюється та працює набагато краще під навантаженням. Панель вище збережено тут, оскільки старі плани тестування все ще містять її.
Збірник журналу доступу
Цей семплер дозволяє читати журнали доступу та генерувати HTTP-запити. Записи журналу можуть бути зображеннями, HTML, CSS тощо.
Поле «Синалоничний аналізатор» за замовчуванням має значення org.apache.jmeter.protocol.http.util.accesslog.TCLogParser, а поле «Розташування файлу журналу» вказує JMeter у журналі, який ви хочете відтворити.
Збірник SMTP
Якщо ви хочете протестувати поштовий сервер, ви можете скористатися SMTP Sampler. Цей зразок використовується для надсилання електронних листів за допомогою протоколу SMTP.
Панель групує налаштування сервера, поштові адреси, налаштування автентифікації та повідомлень, а поруч із полем «Порт» друкує порти за замовчуванням: SMTP 25, SSL 465 та StartTLS 587.
Слухачі
Слухачі показують результати виконання тесту. Вони можуть представляти результати в різних форматах, таких як дерево, таблиця, графік або файл журналу.
Команда Результати графіка Слухач відображає час відгуку сервера на графіку, а під ним надруковано кількість вибірок, середнє значення, відхилення, пропускну здатність та медіану.
Переглянути дерево результатів показує результат кожного запиту користувача у базовому HTML-форматі, а вкладка результатів Sampler повідомляє про час завантаження, затримку, розмір та код відповіді.
Переглянути результати в таблиці показує зведений результат тесту у форматі таблиці, один рядок на зразок.
Файл журналу записує той самий зведений опис, що й текст, тобто те, що ви зберігаєте, коли тест виконується без графічного інтерфейсу.
Найкраща практика: Слухачі графічного інтерфейсу споживають пам'ять і спотворюють результати, тому запускайте реальні навантажувальні тести в режимі без графічного інтерфейсу та відкривайте збережений файл результатів лише після цього.
Елементи конфігурації
Елементи конфігурації встановлюють значення за замовчуванням та змінні для подальшого використання семплерами.
На малюнку нижче показано деякі часто використовувані елементи конфігурації в JMeter.
Конфігурація набору даних CSV
Припустимо, ви хочете протестувати веб-сайт для 100 користувачів, які входять у систему з різними обліковими даними. Вам не потрібно записувати скрипт 100 разів. Ви можете параметризувати скрипт для введення різних облікових даних для входу. Цю інформацію для входу (наприклад, ім'я користувача та пароль) можна зберігати в текстовому файлі. JMeter має елемент, який дозволяє зчитувати різні параметри з цього текстового файлу. Це «CSV Data Set Config», який використовується для зчитування рядків з файлу та розділення їх на змінні.
Це приклад даних CSV. Це текстовий файл, який містить імена користувачів та паролі, що використовуються для входу на ваш цільовий веб-сайт.
Менеджер файлів cookie HTTP
Давайте розберемося в цьому на прикладі.
Ви використовували свій браузер (Firefox, Chrome тощо) для перегляду www.google.com.
Ви входите, використовуючи своє ім'я користувача та пароль.
Ваше ім'я користувача та пароль будуть збережені на вашому комп'ютері у вигляді файлів cookie.
Наступного разу, коли завітаєте www.google.com, вам не потрібно входити знову, оскільки ваш браузер використовуватиме ваші файли cookie як дані користувача для входу.
Менеджер файлів cookie HTTP має ту саму функцію, що й веббраузер. Якщо у вас є HTTP-запит, а відповідь містить файл cookie, Менеджер файлів cookie автоматично зберігає цей файл cookie та використовує його для всіх майбутніх запитів до цього конкретного веб-сайту.
Стандартні параметри запиту HTTP
Цей елемент дозволяє встановити значення за замовчуванням, які використовують ваші контролери запитів HTTP.
Наприклад,
Ви надсилаєте 100 HTTP-запитів на сервер google.com.
Вам довелося б вручну вводити ім'я сервера google.com для всіх 100 запитів.
Замість цього ви можете додати один елемент HTTP Request Defaults із полем «Server Name or IP» (Ім’я сервера або IP-адреса), встановленим на google.com, як показано нижче.
Не потрібно вводити це 100 разів. Цей елемент буде детально пояснено в навчальному посібнику. JMeter Тестування продуктивності.
Елемент конфігурації входу
Елемент конфігурації входу дозволяє додавати або змінювати налаштування імені користувача та пароля в семплерах.
Наприклад, ви хочете імітувати вхід одного користувача на вебсайт www.facebook.com з іменем користувача та паролем. Ви можете скористатися елементом конфігурації входу, щоб додати це налаштування імені користувача та пароля до запиту користувача.
Елемент конфігурації входу проти конфігурації набору даних CSV
| Елемент конфігурації входу | Конфігурація набору даних CSV |
|---|---|
| Використовується для імітації входу одного користувача | Використовується для імітації входу кількох користувачів |
| Підходить лише для параметрів входу (ім'я користувача та пароль) | Підходить для великої кількості параметрів |
Разом ці два елементи охоплюють майже кожен сценарій повноважень, з яким ви зустрічаєтеся засоби тестування продуктивності працювати.



















.png)

