если условие внутри почтового процессора Beanshell не работает Jmeter - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь установить флаг внутри постобработчика бобов на основе условия if. Здесь всегда, если условие становится верным. Пожалуйста, помогите решить эту проблему. Я не могу понять, в чем проблема.

${__setProperty(access_tok,${access_tok},No)};
${__setProperty(token_typ,${token_typ},No)};

${__setProperty(flag,"false",No)};

if (${__property(token_typ)}.equals("bearer"))
{
${__setProperty(flag,"true",No)};
}

access_tok & token_typ - переменные регулярного выражения. Определяется пользователем флаг, который я пытаюсь использовать в следующей группе потоков

1 Ответ

0 голосов
/ 26 июня 2018
  1. Не используйте Beanshell для JSR223 PostProcessor и Groovy язык
  2. Не вставляйте Функции и / или переменные JMeter в ваши скрипты. Согласно JSR223 Sampler Документация

    При использовании этой функции убедитесь, что ваш код скрипта не использует переменные JMeter непосредственно в коде скрипта, поскольку кэширование будет только кэшировать первую замену. Вместо этого используйте параметры скрипта.

Измененный код должен выглядеть следующим образом:

props.put('access_tok', vars.get('access_tok'))
props.put('token_typ', vars.get('token_typ'))

props.put('flag', 'false')

if (props.get('token_typ').equals('bearer')) {
    props.put('flag', 'true')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...