JMETER: отправка файлов с помощью запроса веб-сервиса

Мне нужно отправить файлы с запросом веб-службы. Но я не знаю, как указать файл в запросе WebService(SOAP).

Как я могу это сделать? Или можно использовать HTTP-запрос?

Заранее спасибо...

1 ответ

Решение

JMeter предоставляет как минимум 2 варианта того, как вы можете передать файл в сэмплер, функцию или что-то еще.

Вариант 1: функция __FileToString(). Просто поместите его в текстовое поле "SOAP/XML-RPC Data" следующим образом:

${__FileToString(/path/to/your/file.xml,,)}

Вариант 2. Другой, более гибкий вариант - это чтение файла с помощью расширения сценариев (т. Е. Если кодировка XML-файла отличается от текущей кодировки системы и становится поврежденной).

Добавьте Beanshell Pre Processor в качестве дочернего элемента вашего запроса SOAP / XML-RPC с помощью следующего кода:

import org.apache.commons.io.FileUtils;
import org.apache.commons.codec.binary.Base64;

String file = FileUtils.readFileToString(new File("/path/to/your/file.xml"),"UTF-8");
vars.put("file",new String(Base64.encodeBase64(file.getBytes("UTF-8"))));

Он будет читать содержимое файла /path/to/your/file.xml с использованием кодировки UTF-8 и сохранять результат в "файловой" переменной JMeter.

Просто положи ${file} или же ${__V(file)} в текстовую область "SOAP/XML-RPC Data". Вот и все.

См. Как использовать руководство BeanShell для более подробной информации о расширении JMeter с помощью сценариев.

Вы можете использовать прослушиватель View Results Tree для получения полной информации по запросу / ответу.

Другие вопросы по тегам