Що таке Element у JMeter?
Різні компоненти JMeter називаються елементами. Кожен елемент розроблений для певної мети.
На малюнку нижче наведено деякі загальні елементи в JMeter.
Вивчення всіх компонентів за один раз - це запрошення до замішання та нудьги. Тут ми обговоримо необхідні компоненти, перш ніж ви зможете розпочати тестування в JMeter.
Залишкові компоненти будуть обговорюватися, як коли вони будуть використані в наступних підручниках. Елементи, що обговорюються в цьому посібнику:
- Група ниток
- Пробовідбірники
- Слухачі
- Конфігурація
Група ниток
Групи ниток - це колекція ниток. Кожен потік представляє одного користувача, який використовує тестоване додаток. В основному кожна Потік імітує один реальний запит користувача до сервера.
Елементи керування для групи потоків дозволяють встановити кількість потоків для кожної групи.
Наприклад, якщо ви встановили кількість потоків як 100; JMeter створить і змоделює 100 запитів користувачів до тестованого сервера
Пробовідбірники
Як ми вже знаємо, що JMeter підтримує тестування HTTP, FTP, JDBC та багатьох інших протоколів.
Ми вже знаємо, що Thread Groups імітують запит користувача до сервера
Але як Thread Group знає, який тип запитів (HTTP, FTP тощо) їй потрібно робити?
Відповідь - пробовідбірники
Запитом користувача може бути FTP-запит, HTTP-запит, JDBC-запит… тощо.
Запит FTP:
Уявімо, ви хочете перевірити продуктивність FTP-сервера. Ви можете використовувати пробник запитів FTP у JMeter, щоб виконати це завдання. Цей контролер дозволяє надіслати запит "завантажити файл" або "завантажити файл" на FTP-сервер.
Наприклад, якщо ви хочете завантажити файл "Test.txt" з тестованого FTP-сервера, вам потрібно налаштувати деякі параметри в JMeter, як показано на малюнку нижче
JMeter надішле команду FTP на сервер FTP ftp.example.com, а потім завантажить файл Test.txt з цього сервера.
Запит HTTP:
Цей пробовідбірник дозволяє надсилати запит HTTP / HTTPS на веб-сервер.
Розглянемо приклад нижче. JMeter надсилає HTTP-запит на веб-сайт Google і отримує файли HTML або зображення з цього веб-сайту.
У навчальному посібнику JMeter Performance Testing ми пояснимо більше про цей запит HTTP.
Запит JDBC:
Цей семплер дозволяє виконати тестування продуктивності бази даних. Він надсилає запит JDBC (запит SQL) до бази даних.
Наприклад, сервер бази даних має поле test_result, яке зберігається в імені таблиці test_tbl. Ви хочете запитати ці дані із сервера баз даних; Ви можете налаштувати JMeter для надсилання запиту SQL на цей сервер для отримання даних.
Пробовідбірник BSF:
Цей семплер дозволяє писати семплер за допомогою мови сценаріїв BSF.
Ось приклад BSF Sampler у JMeter
Пробовідбірник журналу доступу:
Цей пробник дозволяє читати журнали доступу та генерувати HTTP-запити. Журналом може бути зображення, HTML, CSS ...
Пробовідбірник SMTP:
Якщо ви хочете протестувати поштовий сервер, ви можете використовувати SMTP sampler. Цей семплер використовується для надсилання повідомлень електронної пошти за допомогою протоколу SMTP.
Слухачі
Слухачі: показує результати виконання тесту. Вони можуть відображати результати в іншому форматі, наприклад, у вигляді дерева, таблиці, графіку або файлу журналу
Слухачі результатів графіків відображають час відповіді сервера на графіку
Дерево результатів перегляду відображає результати запиту користувача у базовому форматі HTML
Результат таблиці показує підсумок результату тесту у форматі таблиці
Журнал показує у текстовому файлі підсумок результатів тесту
Елементи конфігурації
налаштувати за замовчуванням та змінні для подальшого використання пробниками.
На малюнку нижче показані деякі часто використовувані елементи конфігурації в JMeter
Конфігурація набору даних CSV:
Припустимо, ви хочете протестувати веб-сайт для входу 100 користувачів із різними обліковими даними. Вам не потрібно записувати сценарій 100 разів! Ви можете параметризувати сценарій, щоб ввести різні облікові дані для входу. Ця інформація для входу (наприклад, ім’я користувача, пароль) може зберігатися у текстовому файлі. JMeter має елемент, що дозволяє читати різні параметри з цього текстового файлу. Це "Конфігурація набору даних CSV", яка використовується для зчитування рядків із файлу та розбиття їх на змінні.
Це приклад даних 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 Performance Testing
Елемент налаштування входу
Елемент конфігурації входу дозволяє додавати або замінювати налаштування імені користувача та пароля в пробниках.
Наприклад, ви хочете імітувати одного користувача для входу на веб-сайт www.facebook.com за допомогою користувача та пароля. Ви можете використовувати елемент конфігурації входу, щоб додати цей параметр користувача та пароля до запиту користувача
Елемент конфігурації входу проти конфігурації даних CSV
Елемент налаштування входу |
Конфігурація даних CSV |
---|---|
Використовується для імітації входу одного користувача |
Використовується для імітації входу кількох користувачів |
Підходить лише для параметра входу (користувач та пароль) |
Підходить для великої кількості параметрів |