Подтвердить что ты не робот

Ссылка на переменную внутри переменной в JMeter

Я работаю с JMeter. Я хотел бы указать тестовый узел с использованием пользовательских переменных, например:

variable name       value  
localhost           localhost  
test                192.168.0.1
hostname            ${localhost}  

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

4b9b3361

Ответ 1

Мне удалось решить мою проблему. Я изменил значение переменной hostname на: ${__evalVar(${localhost})}, но у меня есть эта ошибка:

ERRROR jmeter.functions.EvalVarFunction: переменные еще не определены

Итак, я переместил объявление переменной имени хоста в дочерний элемент user > user node моего Sampler node. Это решило его.

Ответ 2

Чтобы решить эту проблему, вы должны использовать hostname = $ {__ eval ($ {localhost})}}
http://jmeter.apache.org/usermanual/functions.html#__eval
  Ответ карлоса содержит ошибку (которую я не могу комментировать из-за повторения), поскольку он использует evalVar, для этого в качестве аргумента требуется простая строка:

Это работает: $ {__ evalVar (localhost)})
   Это работает: $ {__ eval ($ {localhost})}
   Это не работает (текущий ответ): $ {__ evalVar ($ {localhost})} http://jmeter.apache.org/usermanual/functions.html#__evalVar

Ответ 3

Новые более новые версии (от версии 2.2), вы можете использовать ${__V(${...})}/.

Пример: ${__V(${SERVER_CONTEXT})}/rest

Как сказал @Alies Belik, если вы получаете

ERRROR jmeter.functions.EvalVarFunction: Variables have not yet been defined

затем определите вторую переменную в следующих других UDV (пользовательские переменные) node.

Ответ 4

Проверьте этот форум: от Blazemeter

Например: получение значения переменной "listid_XXX", где число XXX происходит из индексной переменной:

${__V(listid_${idx1})}