Гарячі клавіси: Основні
| Гарячі клавіси Windows | Гарячі клавіси macOS | Назва | Опис |
|---|---|---|---|
| Файлові операції | |||
| Ctrl + O | ⌘Cmd + O | Відкрити файл | Відкриває діалогове вікно для завантаження тесту (JMX файл) з файлових систем |
| Ctrl + S | ⌘Cmd + S | Зберегти | Зберігає поточний тестовий план у відкритий файл |
| Ctrl + ⇧Shift + S | ⌘Cmd + ⇧Shift + S | Зберегти все | Зберігає всі відкриті тестові плани та змінені файли |
| Ctrl + Q | ⌘Cmd + Q | Вихід | Запускає вихід з JMeter GUI (з підтвердженням якщо є незбережені зміни) |
| Ctrl + W | — | Закрити поточний тест | Закриває поточний відкритий тестовий план (у macOS прив'язка не працює) |
| Редагування / Helper | |||
| Ctrl + C | ⌘Cmd + C | Копіювати | Копіює вибраний елемент тестового плану в буфер обміну |
| Ctrl + ⇧Shift + C | ⌘Cmd + ⇧Shift + C | Дублювати елемент | Створює точну копію вибраного вузла тестового плану (Duplicate Node) |
| Ctrl + X | ⌘Cmd + X | Вирізати | Вирізає вибраний елемент в буфер обміну (Cut) |
| Ctrl + V | ⌘Cmd + V | Вставити | Вставляє вміст буфера обміну в поточний тестовий план |
| Delete | Delete | Видалити вузол | Видаляє вибраний вузол з дерева тестового плану |
| Ctrl + F | Ctrl + F | Діалог функцій | Відкриває Function Helper Dialog — довідник функцій JMeter з параметрами та прикладами |
| Debug / Інфо | |||
| Ctrl + D | Ctrl + D | Debug Off | Перемикає рівень логування вибраного елемента на INFO (вимикає режим відладки) |
| Ctrl + ⇧Shift + D | Ctrl + ⇧Shift + D | Debug On | Перемикає рівень логування вибраного елемента на DEBUG (вмикає режим відладки) |
| Ctrl + M | Ctrl + M | SSL Менеджер | Відкриває SSL Manager для налаштування параметра javax.net.ssl.keyStore (управління SSL/TLS сертифікатами) |
| Ctrl + W | — | Клас вузла | Виводить в консоль інформацію про GUI та Test Element клас вибраного вузла (у macOS видалено прив'язку) |
Гарячі клавіси: Управління тестом
| Гарячі клавіси Windows | Гарячі клавіси macOS | Назва | Опис |
|---|---|---|---|
| Запуск / Зупинка | |||
| Ctrl + R | ⌘Cmd + R | Запустити тест | Запускає виконання поточного тестового плану в GUI режимі |
| Ctrl + ⇧Shift + R | ⌘Cmd + ⇧Shift + R | Віддалений запуск | Запускає тестовий план на всіх віддалених воркерах (Remote Start) |
| Ctrl + ⇧Shift + N | ⌘Cmd + ⇧Shift + N | Запуск без пауз | Запускає тестовий план без урахування елементів Wait (Pause) між елементами |
| Ctrl + . | ⌘Cmd + . | Зупинити тест | Зупиняє поточне виконання тестового плану (Graceful Stop) |
| Ctrl + , | — | Аварійна зупинка | Примусово зупиняє та завершує тест (Shutdown Test, у macOS не працює) |
| Alt + X | — | Віддалена зупинка всіх | Надсилає команду зупинки всім віддаленим воркерам (Remote Stop All) |
| Alt + Z | — | Віддалена зупинка (shutdown) | Надсилає команду аварійної зупинки всім віддаленим воркерам (Remote Shutdown All) |
| Відображення / Структура | |||
| Ctrl + E | ⌘Cmd + E | Очистити результати | Повністю очищує всі результати виконання тестів (Clear All Run Results) |
| Ctrl + ⇧Shift + E | ⌘Cmd + ⇧Shift + E | Очистити вибрані | Очищує результати виконання лише для вибраного елемента (Clear Selected) |
| Ctrl + T | ⌘Cmd + T | Вкл/Вимк елемент | Перемикає стан вибраного елемента (Enable / Disable Test Element) |
| Ctrl + G | ⌘Cmd + G | Скріншот вузла | Створює знімок екрану GUI лише вибраного елемента (Make a screenshot of selected node) |
| Ctrl + ⇧Shift + G | ⌘Cmd + ⇧Shift + G | Скріншот JMeter | Створює знімок екрану всього інтерфейсу JMeter GUI |
| Ctrl + - | ⌘Cmd + - | Згорнути все | Згортає всі вузли дерева тестового плану (Collapse All, у macOS не працює) |
| Ctrl + ⇧Shift + - | ⌘Cmd + ⇧Shift + - | Розгорнути все | Розгортає всі вузли дерева тестового плану (Expand All, у macOS не працює) |
| Ctrl + F1 | — | Функції / Допомога | Альтернативний виклик Function Helper Dialog (Open Function Helper Dialog) |
| Ctrl + ? | ⌘Cmd + ? | Відкрити довідку | Відкриває контекстуальну довідку по JMeter (Open Help, у macOS не працює) |
Команди JMeter (CLI / Non-GUI)
| Команда | Назва | Опис |
|---|---|---|
| Запуск тестів | ||
| jmeter -n -t test_plan.jmx -l result.jtl | Запуск тесту | Non-GUI запуск тестового плану. Прапорець -n вказує non-GUI режим, -t — шлях до тесту, -l — шлях до лог-файлу результатів |
| jmeter -n -t test_plan.jmx -e -o ./reports -r | Запуск + звіт | Non-GUI запуск з генерацією HTML-звіту в вказану директорію. -e вмикає генерацію звіту, -o — шлях до папки звіту |
| jmeter -n -t test_plan.jmx -r -Jserver.port=1099 | Віддалений запуск | Запуск на всіх віддалених RMI-воркерах (-r = run all remote hosts). Можна вказати конкретний хост через -R host1,host2 |
| jmeter -n -t test_plan.jmx -Dhttp.port=8080 | Властивість JVM | Передача JVM-властивості при запуску. Використовується для налаштування параметрів Java (наприклад, порт, кодування, проксі) |
| Генерація звітів | ||
| jmeter -g result.jtl -o ./report_dir -e | HTML звіт | Генерація HTML Dashboard звіту з існуючого JTL-файлу результатів. Створює інтерактивні звіти з графіками |
| jmeter -g result.jtl -o ./report_dir -t template.html | Звіт з шаблоном | Генерація HTML звіту з використанням користувацького HTML-шаблону замість стандартного шаблону JMeter за замовчуванням |
| jmeter -g result.jtl -o ./report_dir --csv input.csv | CSV параметри | Генерація звіту з додатковими CSV-даними. Дозволяє додати користувацькі параметри в звіт |
| jmeter -g result.jtl -o ./report_dir --include-sampler sampler_name | Включити сэмплер | Фільтрація звіту — включає в звіт лише вказані сэмплери за ім'ям. Корисно при великих тестах з багатьма запитами |
| Валідація / Перетворення | ||
| jmeter -g result.jtl -o ./report_dir --jtl-format 2.1 | Формат JTL | Вказування формату JTL-файлу для зворотної сумісності (формат 2.1, 2.2, 2.3, 3.0 тощо) |
| jmeter --validate -t test_plan.jmx | Валідація XML | Перевірка тестового файлу на відповідність схемі JMeter без запуску. Повертає помилки валідації в консоль |
| jmeter --testplan-conf mode:validate -t test_plan.jmx | Валідація плану | Валідація тестового плану з перевіркою всіх посилань, функцій та конфігурацій елементів |
Функції JMeter (Function Helper)
| Синтаксис функції | Назва | Опис |
|---|---|---|
| Робота зі рядками | ||
| ${__EscapeChars(рядок)} | Екранування | Екранує спеціальні символи в рядку для використання в XML/JSON |
| ${__EscapeChar(char, flag)} | Екранування символу | Екранує конкретний символ згідно з вказаним прапорцем. Корисно для динамічного форматування рядків |
| ${__UnEscapeChars(рядок)} | Розпакування | Зворотна операція — розпаковує екрановані символи в рядку |
| ${__unescape(рядок)} | Мінус розпакування | Розпакування escape-символів (альтернативна назва функції). Підтримка зворотного виклику без аргументів |
| ${__substring(рядок, begin, end)} | Підрядок | Видобуває підрядок з рядка за вказаними позиціями (begin — початковий індекс, end — кінцевий індекс) |
| ${__replace(рядок, pattern, replacement)} | Заміна підрядка | Замінює підрядки, що відповідають regex-pattern, на replacement. Регулярні вирази підтримуються |
| ${__replaceFirst(рядок, pattern, replacement)} | Перше співпадіння | Замінює перше знайдене співпадіння regex-патерна. Використовується в шаблонах звітів та парсингу |
| ${__toBase64(рядок)} | Base64 код | Кодує рядок у формат Base64. Застосовується для кодування авторизаційних заголовків |
| ${__fromBase64(base64_string)} | Декодування | Декодує рядок з формату Base64 назад. Корисно при декодуванні токенів та параметрів |
| ${__toBytes(рядок)} | У байти | Конвертує рядок в масив байтів (byte array). Застосовується для бінарних даних в запитах |
| Дати та час | ||
| ${__time(yyyy-MM-dd HH:mm:ss,)} | Час (формат) | Повертає поточну дату/час у вказаному форматі Java SimpleDateFormat. Пороговий другий аргумент — змінна не зберігається |
| ${__timeShort(,)} | Коротка дата | Формат: yyyy-MM-dd. Альтернатива __time з жорстким форматом для коротких дат |
| ${__timeLong(,)} | Повна дата | Формат: yyyy-MM-dd HH:mm:ss. Альтернатива __time з жорстким форматом для повних дат |
| ${__timeOffset(,1)} | Зміщення | Повертає час зі зміщенням. Другий аргумент — мілісекунди (положительне/від'ємне зміщення) |
| ${__date(шаблон,)}${__date(шаблон,)}${__date(,)}${__date(шаблон,)} | Дата (універсальна) | Універсальна функція для роботи з датою. Підтримує всі формати Java Date Format. Може зберігати результат у змінну |
| ${__counter(0,false)} | Лічильник | Глобальний лічильник. Перший аргумент — початкове значення (0), другий — true унікальний за потоками |
| ${__counterUUID,} | UUID лічильник | Генерація унікального ID на основі лічильника. Гарантує порядкову нумерацію без колізій між потоками |
| Випадкові значення | ||
| ${__Random(1,100,)} | Випадкове число | Генерує випадкове число між min та max. Третій аргумент — ім'я змінної для зберігання результату |
| ${__RandomString(10,a-z,)} | Випадковий рядок | Генерує випадковий рядок вказаної довжини з заданих символів (довжина, набір символів, змінна) |
| ${__RandomFromValue(значення1|значення2|значення3,)} | Випадковий зі списку | Вибирає випадкове значення з розділеного вертикальною рисою списку. Використовується для параметрів запитів |
| ${__RandomInt(min,max,ім'я_змінної)} | Випадкове ціле | Генерація випадкового цілого числа. Повертає результат у вказану змінну або напряму |
| ${__UUID,} | UUID | Генерує унікальний ідентифікатор UUID v4. Застосовується для створення унікальних тестових даних |
| ${__javaScript(Math.random(),)} | JavaScript Math | JavaScript-генератор випадкових чисел. Можна використовувати будь-які функції Math для різноманіття |
| Змінні | ||
| ${__P(ім'я_властивості,за_замовчуванням)} | Системна властивість | Отримує значення системної властивості JVM. Якщо властивість не знайдено — повертає значення за замовчуванням |
| ${__groovy('hello')} | Groovy скрипт | Виконання Groovy скрипта. Дозволяє виконувати довільні обчислення на Groovy прямо в тесті |
| ${__javaScript(expression,ім'я_змінної)} | JavaScript скрипт | Виконання JavaScript виразу в Java (Nashorn). Підтримує всі JS-функції: Math, Date, String тощо |
| ${__groovy(використати, імпорт)} | Groovy | Groovy-функція для складної обробки. Підтримує import бібліотек та повне програмування |
| ${__Jexl3(expression,)} | Jexl3 вираз | Apache Jexl3-вираз. Підтримує оператори, функції, рядкові операції. Альтернатива __javaScript |