jmeter导入CVS数据传参,响应数据批量导出到CVS文件
1、导入CVS数据传参(继续整理)
2、响应数据批量导出到CVS文件
基础响应数据如下,要提取goods_id、goods_name
2.1 正则提取器取多个值
对应的提取到的值可以通过调试取样器Debug Sampler查看
或者可以goods_id、goods_name分别建一个正则提取器取值
对应的提取到的值
常用正则表达式的语法:
\d 数字
\w 数字或者字母
. 可以匹配任意字符
星号* 表示任意个字符
+ 表示至少一个字符
? 表示0或者1个字符
{n} 表示n个字符
{n,m} 表示n-m个字符
\s 表示空白符
括号[] 表示范围,比如:
[0-9a-zA-Z_] 可以匹配一个数字、字母或者下划线
^ 表示行的开头,^\d表示必须以数字开头。
$ 表示行的结束,\dKaTeX parse error: Undefined control sequence: \d at position 102: …= re.match(r'^(\̲d̲{3})-(\d{3,8})’, ‘010-12345’)
2.2 导出到CVS文件
创建一个BeanShell 后置处理程序,脚本如下:
// 追加方式写入数据
// 打开CVS文件
FileWriter fstream=new FileWriter("E:\\reports.csv",true);
BufferedWriter out=new BufferedWriter(fstream);
for(int i=1;i<=10;i++){
goods_id_i="goods_id_"+i;
goods_name_i="goods_name_"+i;
log.info(goods_name_i);
// 写入变量,","为同一行不同的单元格的分隔符,"\r\n"为换行符
out.write(vars.get(goods_id_i)+",");
out.write(vars.get(goods_name_i)+"\r\n");
}
// 关闭缓存区和数据流文件
out.close();
fstream.close();
导出数据如下: