目录:导读
- 前言
- 一、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
代码实例:
//导入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效果如下:
方式二(json提取器+BeanShell 取样器)
1、json提取器提取出变量对应的value值
2、beanshell取样器
示例代码:
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运行时报Typed variable declaration : Class: JSONObject not found in namespace
解决方案:因为${JMETER}\lib\下缺少json.jar包,下载放到 lib目录下即可。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有坚持拼搏、不放弃的人,才能在逆境中崛起,展现出无尽的力量和智慧。奋斗不仅是一种态度,更是一种勇气,让我们砥砺前行,追逐梦想的光芒,创造属于自己的辉煌!
坚持追求梦想,才能开启辉煌人生;奋勇拼搏,方可创造无限可能。不畏困难,不言放弃,只有锲而不舍的努力,才能成就非凡的自己。相信自己,勇往直前,未来将因你而绽放耀眼的光芒!
勇往直前,拼尽全力,只有奋斗才能收获成就;不断超越自己,追逐梦想,只有努力才能实现突破;面对挑战,坚持不懈,只有坚强才能攀登高峰。相信自己,踏上征程,你将成为无人可及的辉煌!