Javascript JMeter修改从XML流到文件的输出

Javascript JMeter修改从XML流到文件的输出,javascript,xml,string,jmeter,Javascript,Xml,String,Jmeter,我正在尝试编写一个JMeter脚本,它在从服务器接收XML响应后,动态地从中提取字符串(删除响应的第一部分)并将其写入文件 目前,我使用保存响应数据写入通道数据_UAT_1(文件名)。很好,写得很开心 然后我在它前面添加了一个BSF预处理器,并使用javascript尝试提取字符串。这是一堆XML标记,我需要从“”开始的所有内容 我使用: function extract_markets(str) { marketIndex = str.indexOf("<Markets");

我正在尝试编写一个JMeter脚本,它在从服务器接收XML响应后,动态地从中提取字符串(删除响应的第一部分)并将其写入文件

目前,我使用
保存响应数据
写入
通道数据_UAT_1
(文件名)。很好,写得很开心

然后我在它前面添加了一个BSF预处理器,并使用javascript尝试提取字符串。这是一堆XML标记,我需要从“
”开始的所有内容

我使用:

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')));
功能提取\u市场(str)
{

marketIndex=str.indexOf(“我认为问题源于这样一个事实,
ChannelData\u UAT\u 1
不是一个变量,以及
如何保存响应数据

ChannelData_UAT_1
是文件名,而不是文件内容

您需要修改“响应”的内容。您可以用函数的值替换页面响应的值

我认为代码应该是这样的:

import org.apache.jmeter.util.JMeterUtils; 
import org.apache.jmeter.samplers.SampleResult;

prev.setResponseData(extract_markets(vars.get('ChannelData_UAT_1')));
资料来源: