jmeter获取接口返回值并导出csv文件

小程序区分用户是通过token,由于token都有一个有效期,数据库中很多token都失效了,必须要登录后获取最新的才有效,只是接口压测没有登录环节,所以想搞个自动化自动登录并获取token到文件中,再从文件中获取token执行接口压测;

1.下载一个 fastjson-1.2.79.jar 包到jmeter安装目录的lib或lib/ext 文件夹中;

https://pan.baidu.com/s/1-uNbQp5HKc6A2ui1eweaoA?pwd=v8v3
提取码:v8v3

2.重启jmeter后,在http请求处添加一个后置处理器 BeanShell PostProcessor

在这里插入图片描述

3.在处理器中添加以下内容即可

在这里插入图片描述

import com.alibaba.fastjson.JSONObject;
//备注:BeanShell PostProcessor中代码如下:
//JMeter的内置API:prev.getResponseData()获取请求的响应内容
byte[] responseData = prev.getResponseData(); 

//①仅以文件名作为filepath的值,则导出的文件会默认保存在Jmeter安装路径的bin(即JVM的启动路径);
//private String filePath = "${ExportExcelName}";

//②指定绝对路径
private String filePath = "E:/jmeter/storeuser-token.csv";  //存放response内容的csv路径

BufferedOutputStream bos = null;
FileOutputStream fos = null;
File file = null;
JSONObject json =JSONObject.parseObject(new String(responseData));
String token_=json.getJSONObject("data").getString("token")+","+json.getJSONObject("data").getString("sid")+","+"`"+json.getJSONObject("data").getString("phone");
BufferedWriter out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(filePath, true)));
out.write(token_+"\r\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}

4.执行jmeter(执行过程中excel需处于关闭状态,否则写不进去)

1)第一次创建文件时执行后内容如下:

在这里插入图片描述
在这里插入图片描述

2)清空文件内容后执行,第一行为空,截图如下:

在这里插入图片描述
在这里插入图片描述

3)txt开启状态可以写入,重新打开显示新内容;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值