知识点:
1. Jmeter如何引入第三方jar包?
2. BeanShell 是什么?
- 添加用户定义的变量>添加参数
initoffer : {"token":"**{token}**","userIdType":"GAID","user_id":"userid123","osv":"7.0","sdk_san_version":"1.0.0beta","h":"1280","w":"720","os":"Android","platform":"Android","app_version":"1.1","country":"CN","make":"samsung","time_zone":"GMT+08:00","pkg_name":"**{app}**","sdk_init":"24","language":"zh","aid":"7fb2bb26-9db1-48c5-9cbe-eca648dcc0f5","gaid":"09f18ff8-50c7-45dc-857d-8ed65a3b71b1","model":"SM-J727T1","offerid_limit":[],"offerid_cache":[],"offerid_resource_error":[]}
注意{**}的内容是需要进行参数化的数据
- 添加csv data setconfig
如果脚本需要移植的话,文件地址需要使用相对地址
- 数据文件,用,隔开,第一个内容是app的取值,第二个内容是token的取值,第三个内容是pid的取值
- http请求initoffer添加beanshell preprocessor
import com.jmeter.java.test.*;
String initoffer = vars.get("initoffer");
initoffer = initoffer.replace("{token}","${token}");
initoffer = initoffer.replace("{app}","${app}");
//System.out.println("initoffer = " + initoffer);
String text = SDKcode.jiaMI(initoffer);
vars.put("init",text);
- initoffer >请求体 使用加密之后的内容 ${init}
- initoffer > 添加 beanshell 断言,来检验返回内容是否正确
- benshell 断言内容
import com.jmeter.java.test.*;
response = prev.getResponseDataAsString();
//System.out.println("响应内容: \n" + response);
response = SDKcode.jieMI(response);
//System.out.println("响应内容: \n" + response);
String assertvalue = vars.get("assertvalue");
//System.out.println("比对内容: \n" + assertvalue);
if(response.contains(assertvalue)){
//System.out.println("包含" );
}else{
Failure = false;
FailureMessage = "失败!";
}