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 як на малюнку нижче
JMeter надішле команду FTP на сервер FTP ftp.example.com
, а потім завантажте файл Test.txt із цього сервера.
HTTP-запит
Цей семплер дозволяє надсилати запит HTTP/HTTPS на веб-сервер.
Розглянемо наведений нижче приклад. JMeter надсилає запит HTTP на веб-сайт Google і отримує файли HTML або зображення з цього веб-сайту.
У підручнику JMeter Тестування продуктивності, ми пояснимо докладніше про цей HTTP-запит.
Запит JDBC
Цей семплер дозволяє виконувати базу даних Тестування продуктивності. Він надсилає запит JDBC (запит SQL) до бази даних.
Наприклад, сервер бази даних має поле test_result, що зберігається в імені таблиці test_tbl. Ви хочете запитати ці дані на сервері бази даних; ви можете налаштувати JMeter відправити a SQL запит до цього сервера для отримання даних.
Пробовідбірник BSF
Цей семплер дозволяє писати семплер за допомогою a BSF мова сценаріїв.
Ось приклад BSF Sampler в JMeter
Збірник журналу доступу
Цей семплер дозволяє читати журнали доступу та генерувати HTTP-запити. Журнал може бути зображенням, HTML, CSS…
Збірник SMTP
Якщо ви хочете протестувати поштовий сервер, ви можете скористатися семплером SMTP. Цей семплер використовується для надсилання повідомлень електронної пошти за протоколом SMTP.
Слухачі
Слухачі: показує результати виконання тесту. Вони можуть відображати результати в іншому форматі, наприклад у вигляді дерева, таблиці, графіка або файлу журналу
Слухачі результатів Graph відображають час відповіді сервера на Graph
Перегляд дерева результатів показує результати запиту користувача в базовому форматі HTML
Таблиця Результат показує зведення результатів тесту у форматі таблиці
Журнал показує зведення результатів тесту в текстовому файлі
Елементи конфігурації
встановити значення за замовчуванням і змінні для подальшого використання семплерами.
На малюнку нижче показано деякі часто використовувані елементи конфігурації в JMeter
Конфігурація набору даних CSV
Припустімо, ви хочете протестувати веб-сайт для 100 користувачів, які входять в систему з різними обліковими даними. Вам не потрібно записувати сценарій 100 разів! Ви можете параметризувати сценарій для введення різних облікових даних для входу. Ця інформація для входу (наприклад, ім'я користувача, пароль) може зберігатися в текстовому файлі. JMeter має елемент, який дозволяє читати різні параметри з цього текстового файлу. Це «CSV Data Set Config», який використовується для читання рядків із файлу та розділення їх на змінні.
Це приклад даних CSV. Це текстовий файл, який містить користувача та пароль для входу на ваш цільовий веб-сайт
Менеджер файлів cookie HTTP
Зрозуміємо це на прикладі –
Ви використовували свій браузер (Firefox, IE…Тощо), щоб переглянути www.google.com
Ви входите під своїм логіном і паролем.
Ваше ім'я користувача та пароль зберігатимуться на вашому комп'ютері у вигляді файлів cookie.
Наступного разу, коли завітаєте www.google.com, вам не потрібно входити знову, оскільки ваш браузер використовуватиме файли cookie як дані користувача для входу.
HTTP Cookie Manager також має ту саму функцію, що й веб-браузер. Якщо у вас є HTTP-запит і відповідь містить файл cookie, менеджер файлів cookie автоматично зберігає цей файл cookie та використовуватиме його для всіх майбутніх запитів до цього конкретного веб-сайту.
Типовий запит HTTP
Цей елемент дозволяє встановити значення за замовчуванням, які використовують ваші контролери запитів HTTP.
Наприклад,
Ви надсилаєте 100 HTTP-запитів на сервер google.com
Вам доведеться вручну ввести назву сервера = google.com для всіх цих 100 запитів
Замість цього ви можете додати один стандартний HTTP-запит із полем «Ім’я або IP-адреса сервера» = google.com
Не потрібно друкувати 100 разів!
Цей елемент буде детально описано в підручнику JMeter Тестування продуктивності
Елемент конфігурації входу
Елемент конфігурації входу дозволяє додавати або змінювати налаштування імені користувача та пароля в семплерах.
Наприклад, ви хочете імітувати вхід одного користувача на веб-сайт www.facebook.com з користувачем і паролем. Ви можете використовувати елемент конфігурації входу, щоб додати цього користувача та налаштування пароля в запит користувача
Елемент конфігурації входу та конфігурація даних CSV
Елемент конфігурації входу | Конфігурація даних CSV |
---|---|
Використовується для імітації входу одного користувача | Використовується для імітації входу кількох користувачів |
Підходить лише для параметрів входу (користувач і пароль) | Підходить для великої кількості параметрів |