gpt4 book ai didi

javascript - JMeter 修改从 XML Stream 到文件的输出

转载 作者:行者123 更新时间:2023-11-29 18:34:42 25 4
gpt4 key购买 nike

我正在尝试编写一个 JMeter 脚本,该脚本在从服务器接收到 XML 响应后,即时从中提取一个字符串(丢弃响应的第一部分)并将其写入文件。

目前我使用 Save Response Data写信给 ChannelData_UAT_1 (文件名)。一切都好,它写得很开心。

然后我添加一个 BSF PreProcessor BEFORE 它,并使用 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 不存在一样。

我错过了什么小的或明显的吗?有什么建议吗?

最佳答案

我认为问题源于 ChannelData_UAT_1 不是变量以及 Save Response Data 的工作原理。

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

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

认为代码看起来像这样:

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

prev.setResponseData(extract_markets(vars.get('ChannelData_UAT_1')));

来源: http://www.javadocexamples.com/java_examples/org/apache/jmeter/samplers/SampleResult/

关于javascript - JMeter 修改从 XML Stream 到文件的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com