Параметризация Jmeter для содержимого загруженного файла

Я пытаюсь параметризовать содержимое файла, загруженного через CSV Data Set Config, но файл не выбирает значения переменных (может видеть данные CSV-файла в запросе, но загруженный файл не обновляется с номером) Отображение запроса следующим образом

**
POST data:
--3TJ-KduX0_gdJ3BvxwP97-p3PBN0Jki-2P7Iyvd
Content-Disposition: form-data; name="SO"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit

403331689
--3TJ-KduX0_gdJ3BvxwP97-p3PBN0Jki-2P7Iyvd
Content-Disposition: form-data; name="sourceFile"; filename="SO_perf_test_porfornmance.xml"
Content-Type: text/xml
Content-Transfer-Encoding: binary

**

person neha kavya sree    schedule 08.04.2020    source источник


Ответы (1)


Если вы отправляете файл через вкладку «Загрузка файлов» запроса HTTP сэмплер такой:

введите здесь описание изображения

JMeter не оценивает какие-либо функции или переменные, которые находятся внутри файла, он отправляет файл "как есть".

Одним из решений может быть использование временного файла, такого как SO_perf_test_porfornmance_modified.xml, в сэмплере HTTP-запросов, и содержимое этого файла может быть изменено «на лету» с помощью препроцессор JSR223, например:

  1. Добавьте препроцессор JSR223 в качестве дочернего элемента пробоотборника HTTP-запросов, который загружает плитку
  2. Поместите следующее выражение в раздел «Параметры»:

    ${__eval(${__FileToString(SO_perf_test_porfornmance.xml,,)})}
    

    куда:

  3. Поместите следующий код в область «Script»:

    new File('SO_perf_test_porfornmance_modified.xml').text = Parameters  
    
  4. Настройте пробоотборник HTTP-запросов для отправки файла SO_perf_test_porfornmance_modified.xml вместо файла SO_perf_test_porfornmance.xml.

    введите здесь описание изображения

  5. Вот и все, JMeter теперь будет отправлять новый файл, который содержит все вложенные функции и/или переменные, преобразованные в соответствующие значения.

person Dmitri T    schedule 08.04.2020