Я пытаюсь написать сценарий JMeter, который после получения и XML-ответа от сервера извлекает из него строку на лету (удаляет первую часть ответа) и записывает ее в файл.
В настоящее время я использую Save Response Data
для записи в ChannelData_UAT_1
(имя файла). Все хорошо, пишет радостно.
Затем я добавляю BSF PreProcessor
ДО и использую javascript для извлечения строки. Это куча тегов XML, я хочу все, начиная с "<Markets>
".
Я использую:
function extract_markets(str)
{
marketIndex = str.indexOf("<Markets");
__log(marketIndex);
length = str.length;
marketString = str.substring(markeIndex, length-1);
return str;
}
vars.put('ChannelData_UAT_1', extract_markets(vars.get('ChannelData_UAT_1')));
Насколько я могу судить, ChannelData_UAT_1
- это переменная, в которой находятся данные. Однако это упоминается только в Save Response Data
. Но я не могу сделать это потом, иначе он уже записан в файл.
Текущее исполнение - получение ответа и запись в файл. Фильтрация не выполняется - как будто мой javascript не существует.
Что-нибудь маленькое или очевидное, что я пропустил? Предложения?