使用正则表达式提取值,并保存为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需要加上双引号)
还有注意: 要写入的文件不要打开,否则也会无法写入文件