接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

日常接口测试,需要将接口返回值对应的字段数据保存下来

示例接口:
post请求:

https://dev-xxx-bot.igovee.com/text

{
"text":"I really need some meditative effects."
}

实现方法:

方式一(Jmeter BeanShell采样器提取接口)

接口获取response数据:

{"cost_time":0.15606689453125,"emotion_class":{"label":"hope","score":0.2862275540828705},"entity":null,"entity_class":{"label":"plants","score":0.2635917663574219},"keywords":"fruit"}

jmeter线程组-JSR223 Sampler

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第1张图片

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第2张图片

代码实例:

//导入json包
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.jmeter.samplers.SampleResult
SampleResult rsp =ctx.getPreviousResult()       
String response_data = rsp.getResponseDataAsString()  //获取上一个接口返回数据,此处是String类型
log.info("\n" + response_data)
//将String类型的返回值构造成JSONObject对象
JSONObject jsonstring=new JSONObject(response_data);  //放进json对象里
String cost_time=jsonstring.get("cost_time").toString();        //取出cost_time对应的value值
String score=jsonstring.get("emotion_class").get("score").toString();        //取出score对应的value值
vars.put("cost_time",cost_time);
vars.put("score",score);
log.info(cost_time);
log.info(score);
//写入文件
FileWriter fstream=new FileWriter("E:/gongju/jmeter/pc.csv",true);//本地存储文件路径
BufferedWriter out = new BufferedWriter(fstream);
out.write(cost_time);//提取出来的cost_time
out.write(",");//换列
out.write(score);//提取出来的score
out.write(System.getProperty("line.separator"));//换行
out.close();
fstream.close();

写入CSV效果如下:

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第3张图片

方式二(json提取器+BeanShell 取样器)

1、json提取器提取出变量对应的value值

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第4张图片

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第5张图片

2、beanshell取样器

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第6张图片

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第7张图片

示例代码:

File file=new File("E:\\gongju\\jmeter\\pc1.csv");
FileWriter fw=new FileWriter(file,true);
BufferedWriter out=new BufferedWriter(fw);
        out.write(vars.get("cost_time"));
        out.write(",");//换列
        out.write(vars.get("score"));//提取出来的score
        out.write(System.getProperty("line.separator"));//换行
        out.close();
        fw.close();

结果文件:

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第8张图片

备注:
JMeter运行时报Typed variable declaration : Class: JSONObject not found in namespace
解决方案:因为${JMETER}\lib\下缺少json.jar包,下载放到 lib目录下即可。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第9张图片

二、接口自动化项目实战

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第10张图片

三、Web自动化项目实战

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第11张图片

四、App自动化项目实战

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第12张图片

五、一线大厂简历

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第13张图片

六、测试开发DevOps体系

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第14张图片

七、常用自动化测试工具

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第15张图片

八、JMeter性能测试

接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)_第16张图片

九、总结(尾部小惊喜)

只有坚持拼搏、不放弃的人,才能在逆境中崛起,展现出无尽的力量和智慧。奋斗不仅是一种态度,更是一种勇气,让我们砥砺前行,追逐梦想的光芒,创造属于自己的辉煌!

坚持追求梦想,才能开启辉煌人生;奋勇拼搏,方可创造无限可能。不畏困难,不言放弃,只有锲而不舍的努力,才能成就非凡的自己。相信自己,勇往直前,未来将因你而绽放耀眼的光芒!

勇往直前,拼尽全力,只有奋斗才能收获成就;不断超越自己,追逐梦想,只有努力才能实现突破;面对挑战,坚持不懈,只有坚强才能攀登高峰。相信自己,踏上征程,你将成为无人可及的辉煌!

你可能感兴趣的:(软件测试,接口测试工具,jmeter,jmeter,软件测试,接口测试,jmeter接口测试,接口自动化测试,测试工具,自动化测试)