jmeter正则提取token以及后置beanshell提取token
一、正则提取,然后把取出的token放入请求头
二、后置Bean Shell 提取 token,将依赖的fastjson放在jmeter的lib/exit目录下,然后在TestPlan中引入这个jar包
//利用fastjson反序列化json为对象和对象数组
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; String json=prev.getResponseDataAsString();//获取Response,为字符串,需要转为json对象 JSONObject jso = JSON.parseObject(json);//创建json对象 JSONObject data = jso.getJSONObject("data");//提取json对象 String token = data.getString("token");//提取json对象里的值 vars.put("token1",token);
常见提取
JSONObject rs = responseObj.get("XXX");//解析中的值为字典的用此方法
String code = responseObj.get("XXX").toString(); //解析中的值为字符串的用此方法
JSONArray prizes = responseObj.get("XXX").getJSONArray("XXX");//解析中的值为数组的用此方法
简单断言展示
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; String json=prev.getResponseDataAsString(); JSONObject jso = JSON.parseObject(json); JSONObject data = jso.getJSONObject("data"); String valueList = data.getString("valueList"); valueList = valueList.substring(1,valueList.length() -1); String doc_count = vars.get("doc_count"); log.info("valueList ==== " + valueList); log.info("doc_count ====" + doc_count); log.info("======== "+doc_count.equals(valueList)); if(doc_count.equals(valueList)) { Failure = false; FailureMessage = "成功"; }else{ Failure = true; FailureMessage = "失败"; }