Горячие клавиши: Основные
| Горячие клавиши 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 / Info | |||
| 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 |