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 = "失败"; }
原文地址:https://www.cnblogs.com/tsgl/p/14306777.html