Функции JMeter — это специальные значения, которые могут заполнять поля любого сэмплера или другого элемента в дереве тестов.
-
Вызов функции выглядит так:
Вызов функции выглядит так:
${__functionName(var1,var2,var3)}
-
_functionName соответствует имени функции. Например, $ {__ threadNum} .
-
Если параметр функции содержит запятую, убедитесь, что вы избежали этого с «\», как показано ниже —
_functionName соответствует имени функции. Например, $ {__ threadNum} .
Если параметр функции содержит запятую, убедитесь, что вы избежали этого с «\», как показано ниже —
${__time(EEE\, d MMM yyyy)}
-
Переменные упоминаются как —
Переменные упоминаются как —
${VARIABLE}
Список функций
В следующей таблице перечислены группы функций, свободно сгруппированных по типам:
Тип функции | название | Комментарий |
---|---|---|
Информация | threadNum | Получить номер темы. |
Информация | samplerName | Получить имя сэмплера (метка). |
Информация | machineIP | Получить IP-адрес локальной машины. |
Информация | имя_компьютера | Получить имя локальной машины. |
Информация | время | Вернуть текущее время в различных форматах. |
Информация | журнал | Записать (или отобразить) сообщение (и вернуть значение). |
Информация | LOGN | Записать (или отобразить) сообщение (пустое возвращаемое значение). |
вход | StringFromFile | Читать строку из файла. |
вход | FileToString | Прочитайте весь файл. |
вход | CSVRead | Читать из файла CSV с разделителями. |
вход | XPath | Используйте выражение XPath для чтения из файла. |
расчет | счетчик | Создайте инкрементное число. |
расчет | intSum | Добавьте целые числа. |
расчет | longSum | Добавьте длинные номера. |
расчет | случайный | Генерация случайного числа. |
расчет | RandomString | Генерация случайной строки. |
расчет | UUID | Генерация случайного типа 4 UUID. |
Scripting | BeanShell | Запустите скрипт BeanShell. |
Scripting | Java-script | Обработка JavaScript (Mozilla Rhino). |
Scripting | jexl, jexl2 | Оцените выражение Commons Jexl. |
свойства | имущество | Прочитайте собственность. |
свойства | п | Прочитайте свойство (сокращенный метод). |
свойства | SetProperty | Установите свойство JMeter. |
переменные | Трещина | Разделить строку на переменные. |
переменные | В | Оцените имя переменной. |
переменные | Eval | Оценить переменное выражение. |
переменные | evalVar | Оценить выражение, хранящееся в переменной. |
строка | regexFunction | Разобрать предыдущий ответ с помощью регулярного выражения. |
строка | escapeOroRegexpChars | Цитировать метасимволы, используемые регулярным выражением ORO. |
строка | голец | Генерация значений символов Unicode из списка чисел. |
строка | экранирования в | Строки процесса, содержащие escape-символы Java (например, \ n & \ t). |
строка | unescapeHtml | Декодировать строки в кодировке HTML. |
строка | escapeHtml | Кодировать строки, используя кодировку HTML. |
строка | TestPlanName | Вернуть название текущего плана тестирования. |
-
Есть два вида функций —
-
Пользовательские статические значения (или переменные)
-
Встроенные функции
-
-
Пользовательские статические значения позволяют пользователю определять переменные, которые должны быть заменены их статическими значениями, когда дерево тестов компилируется и передается для запуска.
-
Переменные не могут быть вложенными; т.е. $ {Var $ {N}} не работает.
-
Для этого можно использовать функцию __V (переменная) (версии после 2.2) — $ {__ V (Var $ {N})}.
-
Этот тип замены возможен без функций, но он менее удобен и менее интуитивен.
Есть два вида функций —
Пользовательские статические значения (или переменные)
Встроенные функции
Пользовательские статические значения позволяют пользователю определять переменные, которые должны быть заменены их статическими значениями, когда дерево тестов компилируется и передается для запуска.
Переменные не могут быть вложенными; т.е. $ {Var $ {N}} не работает.
Для этого можно использовать функцию __V (переменная) (версии после 2.2) — $ {__ V (Var $ {N})}.
Этот тип замены возможен без функций, но он менее удобен и менее интуитивен.
Где использовать функции и переменные
Функции и переменные могут быть записаны в любое поле любого тестового компонента.
Следующие функции должны хорошо работать в плане тестирования —
- intSum
- longSum
- имя_компьютера
- BeanShell
- Java-script
- jexl
- случайный
- время
- функции собственности
- функции журнала
Функции, которые используются в плане тестирования, имеют некоторые ограничения. Переменные потока JMeter не будут полностью настроены при обработке функций, поэтому имена переменных, переданные в качестве параметров, не будут установлены, а ссылки на переменные не будут работать. Следовательно, split () и regex () и функции оценки переменных не будут работать. Функция threadNum () не будет работать и не имеет смысла на уровне плана тестирования.
Ссылки на переменные и функции
-
Ссылка на переменную в тестовом элементе выполняется путем заключения в скобки имени переменной с помощью ‘$ {‘ и ‘}’.
-
На функции ссылаются аналогичным образом, но по соглашению имена функций начинаются с «__», чтобы избежать конфликта с именами пользовательских значений.
-
Некоторые функции принимают аргументы для их настройки, и они заключаются в круглые скобки, разделенные запятыми. Если функция не принимает аргументов, скобки могут быть опущены. Например —
Ссылка на переменную в тестовом элементе выполняется путем заключения в скобки имени переменной с помощью ‘$ {‘ и ‘}’.
На функции ссылаются аналогичным образом, но по соглашению имена функций начинаются с «__», чтобы избежать конфликта с именами пользовательских значений.
Некоторые функции принимают аргументы для их настройки, и они заключаются в круглые скобки, разделенные запятыми. Если функция не принимает аргументов, скобки могут быть опущены. Например —
${__BeanShell(vars.put("name"\,"value"))}
-
Кроме того, вы можете определить свой сценарий как переменную, например, в плане тестирования —
Кроме того, вы можете определить свой сценарий как переменную, например, в плане тестирования —
SCRIPT vars.put("name","value")
-
На скрипт можно ссылаться следующим образом:
На скрипт можно ссылаться следующим образом:
${__BeanShell(${SCRIPT})}
Диалог функции помощник
Диалог Function Helper доступен на вкладке « Параметры » JMeter.
-
Используя помощник по функциям, вы можете выбрать функцию из выпадающего списка и назначить значения для ее аргументов. В левом столбце таблицы приведено краткое описание аргумента, а в правом столбце указано значение этого аргумента. Разные функции принимают разные аргументы.
-
Сделав это, нажмите кнопку «Создать», и будет создана соответствующая строка, которую вы можете скопировать и вставить в план тестирования, где вам нужно.
Используя помощник по функциям, вы можете выбрать функцию из выпадающего списка и назначить значения для ее аргументов. В левом столбце таблицы приведено краткое описание аргумента, а в правом столбце указано значение этого аргумента. Разные функции принимают разные аргументы.
Сделав это, нажмите кнопку «Создать», и будет создана соответствующая строка, которую вы можете скопировать и вставить в план тестирования, где вам нужно.
Предопределенные переменные
Некоторые переменные определены внутри JMeter. Они —
-
COOKIE_cookiename — содержит значение cookie.
-
JMeterThread.last_sample_ok — был ли последний образец в порядке — true / false. Примечание. Это обновляется после запуска PostProcessors и Assertions.
-
НАЧАТЬ переменные.
COOKIE_cookiename — содержит значение cookie.
JMeterThread.last_sample_ok — был ли последний образец в порядке — true / false. Примечание. Это обновляется после запуска PostProcessors и Assertions.
НАЧАТЬ переменные.
Предопределенные свойства
Некоторые встроенные свойства определены JMeter. Они перечислены ниже. Для удобства свойства START также копируются в переменные с такими же именами.
-
START.MS — время запуска JMeter в миллисекундах.
-
START.YMD — время начала JMeter как ггггMMdd.
-
START.HMS — время начала JMeter в формате HHmmss.
-
TESTSTART.MS — время начала теста в миллисекундах.
START.MS — время запуска JMeter в миллисекундах.
START.YMD — время начала JMeter как ггггMMdd.
START.HMS — время начала JMeter в формате HHmmss.
TESTSTART.MS — время начала теста в миллисекундах.
Обратите внимание, что переменные / свойства START представляют время запуска JMeter, а не время начала теста. Они в основном предназначены для использования в именах файлов и т. Д.