Учебники

jMeter – Функции

Функции 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, а не время начала теста. Они в основном предназначены для использования в именах файлов и т. Д.