jmeter 响应数据保存本地_Jmeter 提取请求及响应结果并保存到本地文件

1.已有一个登录的HTTP请求-登录2

2.启动,查看结果树

计划提取请求头 Connection 的 keep-alive 字段

响应主体:userId 的9786字段

以及响应码 200

3.正则表达式提取器,提取Connection

正则表达式提取器,提取userId

边界提取器,提取响应代码

4.添加beanshell后置处理程序,写入脚本

FileWriter fstream = new FileWriter("E://jmeter//pk1.csv", true);

BufferedWriter out = new BufferedWriter(fstream);

out.write( vars.get("Connection")+","+"userId" + "," + vars.get("userId") +","+"code" + "," + vars.get("returnCode")+",");

out.write( vars.get("name"));

out.write(System.getProperty("line.separator"));

out.close();

fstream.close();

其中:

①   System.getProperty("line.separator")

这也是换行符,功能和"\n"是一致的,但是此种写法屏蔽了 Windows和Linux的区别 ,更保险一些.out.write("code" + "," + vars.get("returnCode")+"\n");

+"\n" :也是换行的效果

②  "," 体现在csv文档中就是向右移一个单元格

5.启动请求

在目标路径产生文档,打开文档,存在提取的字段

(若已存在文档,该代码是可以续写文档的,不会覆盖之前的记录)

6.可在线程组设置线程数。(即http请求运行几次)

7.遇到的问题:

① 数据一直写入失败,结果是【要检查的响应字段】选错了,像提取响应码 【200】应该选 信息头

写入失败会导致文件被占用的情况(文件无法删除)

② 这边的username参数,是由csv文件传参的 Jmeter小试牛刀-参数化

要在代码里获取,应获取name,而不是username

③ "userId": 9786 后有换行符,空格,} 等等

用边界提取器提取,右边界直接输   }

结果会导致提取值自带了换行,导致后一个值换行显示

之后又尝试右边界输入 \n 等,结果取不到值。。

用正则愉快的取到值了

(虽然边界提取器适合小白,但正则还是要会一点。。两个都有其占优势的使用场景)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值