jmeter 添加 BeanShell PostProcessor,读取响应保存文件时报错

使用正则表达式提取值,并保存为xls 文件

第一步:添加正则表达式提取器

第二步:添加后置处理器, BeanShell PostProcessor

1 FileWriter fstream = new FileWriter("F:/123.xls",true);
2 BufferedWriter out = new BufferedWriter(fstream);
3 String getdata= "${memo}";
4 out.write(vars.get(getdata)+ "\n");
5 out.close();
6 fstream.close();

第一个坑: 

文件路径不要使用”\\“,F:\\123.xls,这样没有写到文件,要写成F:/123.xls

在BeenShell中引用文件路径时不要使用"\",否者会转义成ASCII码,当你需要表示完整的路径时应该如此表示:F:/123.xls,而不是像java中引用F:\\123.xls,这样就会将T和Z分别转码成84和90然后jmeter控制台就会报错

FileWriter fstream = new FileWriter("F:\\123.xls",true); 

第二个坑:

提取的值为数字时,jmeter会默认将其识别成int型数据,说明jmeter并不是默认以String类型对数据进行读取的

jmeter控制台则会抛出如下异常:jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   

在BeenShell中引用外部参数需要以String类型的方式引用:例如:"${user}"(ps需要加上双引号)

还有注意: 要写入的文件不要打开,否则也会无法写入文件

猜你喜欢

转载自www.cnblogs.com/tQlve/p/12969161.html