Почему $ {var} и vars.get ('var') не вернули одинаковое значение? - PullRequest
0 голосов
/ 16 июня 2020

Не могли бы вы объяснить мне, почему я получаю два разных результата с одной и той же переменной?

Код

def sql_req = "select message from messages where message_timestamp like '" + vars.get('todayDate') + "%' and message_content like '" + vars.get('msg_id') + "%'"

log.info('Req 1 : ' + sql_req)

log.info("Req 2 : select message from messages where message_timestamp like '${todayDate}%' and message_content like '${msg_id}%'")

Результат

Req 1 : select message from messages where message_timestamp like '16/06/20%' and message_content like '132656787653545454%'
Req 2 : select message from messages where message_timestamp like '16/06/20%' and message_content like '878765654556467677%'

У меня есть несколько настроек петель в Thread Group. Но ${msg_id} сохраняет значение первого l oop. Он не обновляется ...

Итак, я заблокирован, потому что я хочу использовать этот запрос (select message from messages where message_timestamp like '${todayDate}%' and message_content like '${msg_id}%') в JDBC Request, но поскольку значение никогда не обновляется, тот же запрос выполняется каждые l oop .

Вы можете мне объяснить почему? Заранее спасибо

1 Ответ

0 голосов
/ 16 июня 2020

Согласно документации JSR223 Sampler :

Тестовые элементы JSR223 имеют функцию (компиляцию), которая может значительно повысить производительность.

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

Так что либо поместите свой ${msg_id} в раздел «Параметры» и укажите его как Parameters или args[0], где требуется:

enter image description here

Or use vars shorthand for JMeterVariables экземпляр класса, который обеспечивает доступ для чтения / записи ко всем переменным JMeter в области текущего потока. См. Статью Top 8 JMeter Java Классы, которые следует использовать с Groovy для получения дополнительных сведений при необходимости

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...