Загрузите файл свойств в jmeter, затем присвойте значение свойств переменной JMeter - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть условие, где мне нужно загрузить файл свойств и назначить значение пропуска JMeter UDV.

Мне удалось загрузить файл свойств успешно, однако я не могу присвоить значение пропуска UDV

Я попробую следующее:

  1. Загрузить файл поддержки, содержащий значение ключа (т.е. var_from_prop_file=1000)
  2. Создать UDV (с ключом "my.var" и значением "${var_from_prop_file}")

Запустить сценарий отладки с отладочным сэмплером, я вижу var_from_prop_file, присвоенный значению 1000

Однако my.var все еще пуст (без значения). мои ожидания при создании UDV со значением my.var = ${var_from_prop_file}, my.var тоже будут 1000, но здесь этого не происходит.

Я пробовал с __eval и _ _evalVar - пока что не повезло.

Можно ли ссылаться на переменную jmeter на ключ файла свойств? и вызвать переменную в другом месте?

Так далеко от отладочного сэмплера - похоже, сначала jmeter загружает UDV, а затем свойства jmeter, а не наоборот.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Самый быстрый способ массового преобразования свойств JMeter в переменные JMeter - это использование JSR223 Sampler и следующего кода:

SampleResult.setIgnore()

props.entrySet().each {entry ->
    vars.putObject(entry.getKey(),entry.getValue())
}

Где:

  • SampleResult.setIgnore() - удаляет JSR223 Sampler из слушателей и файл результатов .jtl
  • props - сокращение для свойств JMeter (в основном это экземпляр java.util.Properties )
  • vars - сокращение для экземпляра JMeterVariables class
0 голосов
/ 25 апреля 2018

Все ваши попытки получают переменные, вам нужно получить свойство, используя разные функции :

Свойства не совпадают с переменными.Переменные являются локальными для потока;свойства являются общими для всех потоков, и на них нужно ссылаться с помощью функции __P или __property.

В вашем случае установите my.var со следующим значением

${__P(var_from_prop_file)}

Или

${__property(var_from_prop_file)}

Аналогичный результат, просто обратите внимание, что __P имеет значение по умолчанию 1

Значение по умолчанию для свойства.Если опущено, по умолчанию установлено значение «1».

Другой вариант - использование JSR223 Sampler , использование vars для установки переменной и props для получения свойства:

vars.put("my.var", props.get("var_from_prop_file")); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...