性能测试实战-XYB项目-外网访问

压测业务选择

跟产品、开发负责人评估系统中需要压测的重要业务接口

考虑到考勤业务是每天老师都需要做的且可多次考勤,列入压测重要业务中

值日检查也是每天老师都需要操作的业务,最终选择了考勤业务及值日检查业务

性能压测目标:根据sis现有业务数据,评估性能指标

xyb是一位上线的一个应用,需要评估性能测试目标

计算规则:80% 的请求发生在20%的时间里

数据脚本准备

压测用的用户、学生、班级,需要提前在测试环境导入批量数据

接口脚本调试,有些有必要让开发放开鉴权,比如移动端登录,需要鉴权,让开发帮忙写个鉴权接口

用到了前置处理器:BeanShell PreProcessor,将上一个接口的返回值作为下一个接口的传参

背景:考勤提交的传参里面学生列表跟上一个接口返回的一样,但是需要加入考勤状态的一串字符串,所以自己写脚本,将字符串拼接,此处需要导入jar包支持,一般放在目录apache-jmeter-4.0\lib\ext下

import org.json.*;

JSONArray stu_array = new JSONArray(vars.get("cl_studentlist"));

JSONArray status_array = new JSONArray();

JSONObject normal = new JSONObject();
normal.put("selected", true);
normal.put("name", "正常");
normal.put("valve", 1);
status_array.put(normal);

JSONObject late = new JSONObject();
late.put("selected", false);
late.put("name", "迟到");
late.put("valve", 2);
status_array.put(late);

JSONObject leftEarly = new JSONObject();
leftEarly.put("selected", false);
leftEarly.put("name", "早退");
leftEarly.put("valve", 4);
status_array.put(leftEarly);

JSONObject absence = new JSONObject();
absence.put("selected", false);
absence.put("name", "缺勤");
absence.put("valve", 8);
status_array.put(absence);

JSONArray leaves_array = new JSONArray();


for(int i=0;i<stu_array.length();i++){
  JSONObject new_stu = stu_array.get(i);
  
  new_stu.put("leaves",leaves_array);
  new_stu.put("statusList",status_array);
}

vars.put("cl_studentlist",stu_array.toString());

  

猜你喜欢

转载自www.cnblogs.com/dieyaxianju/p/10427823.html