
我正在通过JDBC请求运行查询,并且我能够获得数据并将其放入变量数组中。问题是我想把变量的值保存到一个文本文件中。但是,每个变量都被赋予了一个唯一的数字,例如SCORED_1、SCORED_2、SCORED_3等。我正在使用一个beanshell后处理器来写入文本文件。除非我定义了行号,否则问题就是I。如何从SQL查询中获得所有结果,并将它们转储到单个变量中,而不使用括号分隔变量,并在各自的行上用线分隔变量。
import org.apache.jmeter.services.FileServer;
// get variables from regular expression extractor
ClaimId = vars.get("SCORED _9"); // I want to just use the
SCORED variable to contain all values from the array
without "{[" characters.
// pass true if want to append to existing file
// if want to overwrite, then don't pass the second
argument
FileWriter fstream = new FileWriter("C:/JMeter/apache-
jmeter-4.0/bin/FBCS_Verify_Final/Comp.txt", true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(ClaimId);
out.write(System.getProperty("line.separator"));
out.close();
fstream.close();发布于 2019-03-11 23:02:41
在看不到您的查询输出和结果文件格式的情况下,我们没有足够的心灵感应来提出解决方案。
然而,我的印象是你走错了方向。如果您正在讨论{[字符,那么您似乎正在使用Result Variable Name字段

,它返回应该以不同方式处理的ArrayList。

但是,如果您切换到Variable Names字段

JMeter将为每个结果集行生成一个单独的变量,它应该更易于使用并最终连接起来

更多信息:
发布于 2019-03-13 00:20:48
JDBC request>Enter a Variable Beanshell Store as string>Add a Beanshell PostProcessor并添加以下脚本。
import org.apache.jmeter.services.FileServer;
{
FileWriter fstream = new FileWriter("C:/JMeter/apache-jmeter-4.0/bin/FBCS_Verify_Final/Comp.txt", false);
BufferedWriter out = new BufferedWriter(fstream);
Count = vars.get("SCORED_#");
Counter=Integer.parseInt(vars.get("SCORED_#"));
for (int i=1;i<=Counter;i++)
{
ClaimId = vars.get("SCORED_"+i);
out.write(ClaimId);
out.write(System.getProperty("line.separator"));
}
out.flush();
out.close();
fstream.close();
}https://stackoverflow.com/questions/55103564
复制相似问题