jmeter BeanShell常用方法
日志输出
login.info("string" + 变量名);
log.info("app_id:" + app_id);
log.info("signed_at:" + signed_at);
log.info("secret_key:" + secret_key);
获取设置的变量
String body = vars.get("body");
设置变量
import java.util.UUID;
UUID uuid1 = UUID.randomUUID();
vars.put( "msgId" ,(uuid1.toString()).replaceAll( "-" , "" ));
vars.put( "userId" ,(uuid1.toString()).replaceAll( "-" , "" ));
获取请求参数数据
import org.apache.jmeter.config.Arguments;
获取响应数据
String responseData= SampleResult.getResponseDataAsString()
获取响应码
String responseCode = SampleResult.getResponseCode();
接口名称
String sampleLabel=SampleResult.getSampleLabel();
请求url
String url = SampleResult.getUrlAsString();
请求数据:请求url、请求body
String samplerData = SampleResult.getSamplerData();
String requestHeaders= SampleResult.getRequestHeaders();
HTTP 返回 200时为true
boolean status = SampleResult.isResponseCodeOK();
prev.getResponseDataAsString() 获取上一个请求返回数据
String res_data = prev.getResponseDataAsString();
log.info("\n\n返回数据: \n" + res_data + "\n");
断言
String res_data_1 = vars.get("res_data_1");
String res_data_2 = vars.get("res_data_2");
if(res_data_1.equals(res_data_2)) {
Failure = true;
String api_name = SampleResult.getSampleLabel();
FailureMessage = api_name + " --- 一致";
log.info(api_name + " --- 一致");
}else{
String api_name = SampleResult.getSampleLabel();
FailureMessage = api_name + " --- 不一致";
Failure = true;
log.info(api_name + " --- 不一致");
}
String code_1 = vars.get("code_1");
String code_2 = vars.get("code_2");
URL解码
String res_data = vars.get("old_msg_data");
String result = URLDecoder.decode(res_data, "utf-8");
log.info("\n\n返回数据: \n" + result + "\n");