Можно ли включить переменные jmeter в значения, полученные из CSV?

У меня есть файл csv, который содержит столбец с именем "запрос". Один из запросов, который у меня есть для запроса, - /user/${id}/list/${list}.

Я хотел бы сделать, чтобы jMeter перезаписывал переменные ${list} и ${id} в запросе, когда он передается в HTTP-пробоотборник с переменными значениями, которые уже используются с предыдущих шагов в моем плане тестирования.

Например:

  • В плане тестирования создайте ${id} = 5 и ${list} = 10.
  • В плане тестирования откройте файл csv, содержащий строку запроса.
  • В плане тестирования выполните использование пробоотборника HTTP. Путь в запросе должен быть значением запроса, переданным из файла csv. 3a. Jmeter должен выполнить запрос, переданный в сэмплер, и заменить ${id} и ${list} значениями, хранящимися в этих переменных в плане тестирования (5 и 10).

Прямо сейчас, когда я пытаюсь это сделать, ответ HTTP возвращается, показывая, что запрос был сделан /user/${id}/list/${list}, а не /user/5/list/10.

Кто-нибудь знает, как заставить замещение через jMeter? Возможно ли это?

2 ответа

Я смог понять это после немного царапин на голове.

JMeter позволяет перегружать переменные (помещать ссылки на переменные внутри переменной) с помощью функции __eval.

Чтобы обойти эту проблему, я оставил файл csv как есть, со ссылками на переменные. Когда я захотел ссылаться на запрос из файла csv и перегружать переменные заполнители фактическими значениями, я использовал ${__ eval ($ {query})} - where query = the


Попробуйте вместо этого использовать функцию __eval:

/user/${__eval(${id})}/list/${__eval(${list})}

__ eval function, кажется, только ваш случай.

licensed under cc by-sa 3.0 with attribution.