Jmeter BeanShell, 读取HTTP请求返回的JSON,并将其存到文件中
1、创建BeanShell Sampler
将fastjson-1.2.30.jar放到 Jmeter安装目录\lib 下

import java.io.*;
import com.alibaba.fastjson.JSONObject;
import java.io.IOException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
private static void dealJson() throws IOException {
// 获取上个http请求返回的json数据
String jsonString = prev.getResponseDataAsString();
// 将json转为JSONObject
JSONObject obj = JSONObject.parseObject(jsonString);
// 拿到响应码为200的请求
if(obj.getString("code").equals("200")){
//拿到data数据
String data = obj.getString("data");
// 将data再次转为JSONObject
JSONObject parse = (JSONObject) JSONObject.parse(data);
// 获取filepath的数据
String result=parse.getString("filePath");
//数据保存的文件位置
String filepath = "D:/os/video/filepath.txt";
try{
//FileWriter(,true),写成true代表写文件时追加到文件中;默认为false,是覆盖文件内容
FileWriter fileWriter = new FileWriter(filepath,true);
//每次写入换行
fileWriter.write("\r\n");
//追加
fileWriter.append(result);
fileWriter.flush();
fileWriter.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
//调用
dealJson();
浙公网安备 33010602011771号