jmeter BeanShell常用方法

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;

// 获取非 json格式 application/x-www-form-urlencoded 参数
Arguments arguments = sampler.getArguments();

// 获取 json格式 消息体数据
String body = arguments.getArgument(0).getValue();
log.info("请求body: " + body);

获取响应数据

String responseData= SampleResult.getResponseDataAsString()

获取响应码

String responseCode = SampleResult.getResponseCode();

接口名称

String sampleLabel=SampleResult.getSampleLabel(); 

请求url

String url = SampleResult.getUrlAsString(); 

请求数据:请求url、请求body

String samplerData = SampleResult.getSamplerData();

请求header

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");
posted @ 2022-01-18 11:43  Echo丶Mikasa  阅读(267)  评论(0)    收藏  举报