Jmeter BeanShell вызов функции JMET - PullRequest
0 голосов
/ 20 марта 2019

У меня настроен сэмплер HTTP-запроса. В теле запроса я вызываю функцию бобовой оболочки, которую я написал:

${__BeanShell(createHeader("GET"\,"Customer"\,"${__UUID}"\,"${__time(yyyy-MM-dd'T'hh:mm:ss)}"))}

Функция просто строит несколько строк запроса с переданными параметрами. Я хочу удалить вызовы функций jmeter (__UUID и __time) и вызывать их напрямую из функции beanshell. Я не мог найти способ сделать это. Спасибо

1 Ответ

1 голос
/ 21 марта 2019
  1. Не вставляйте Функции или переменные JMeter в сценарии, в вашем случае вам придется вместо этого использовать эквиваленты на основе кода, а именно:

    • __UUID() -> UUID.randomUUID().toString()
    • __time() -> new java.text.SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss").format(new Date())
  2. Начиная с JMeter 3.1 рекомендуется использовать JSR223 Test Elements и язык Groovy для сценариев, в вашем случае это будет __ groovy () функция . Если вы хотите повторно использовать метод createHeader - вы можете поместить его в отдельный файл .groovy и определить groovy.utilities свойство , указывающее на этот файл.

    См. Apache Groovy - почему и как его использовать * Статья 1030 * для получения дополнительной информации об использовании сценариев Groovy в тестах JMeter.

...