0

在此处输入图像描述我正在通过 JDBC 请求运行查询,并且能够获取数据并将其放置在变量数组中。问题是我希望将变量的值保存到文本文件中。但是,每个变量都被赋予了一个唯一的编号,即 SCORED_1、SCORED_2、SCORED_3 等。我正在使用 beanshell 后处理器来写入文本文件。问题是我,除非我定义 A LINE Number。如何从 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();
4

2 回答 2

0

JDBC 请求>输入变量名>存储为字符串>添加 Beanshell 后处理器并添加以下脚本。

    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();

}
于 2019-03-12T16:20:48.397 回答
0

在没有看到您的查询输出和结果文件格式的情况下,我们没有足够的心灵感应来提出解决方案。

但是我的印象是你走错了方向。鉴于您正在谈论{[字符,您似乎正在使用Result Variable Name字段

在此处输入图像描述

它返回一个ArrayList应该区别对待

在此处输入图像描述


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

在此处输入图像描述

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

在此处输入图像描述

更多信息:

于 2019-03-11T15:02:40.617 回答