Параметризация Jmeter для содержимого загружаемого файла - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь параметризовать содержимое файла, загруженного через конфигурацию набора данных CSV, но файл не выбирает значения переменных (может видеть данные файла 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

**

1 Ответ

0 голосов
/ 08 апреля 2020

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

enter image description here

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

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

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

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

    где:

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

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

    enter image description here

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

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