一、加密字符转义
1、背景
在使用jmeter开发基本的时候,如果涉及接口加密,如MD5,需要对相关的 list ,JSON 做转义,但是该数据来源于上一个接口的返回,通过脚本来解决这个问题
2、脚本如下:
通过grovy 实现
import groovy.json.JsonSlurper
def responseStr = prev.getResponseDataAsString()
def jsonSlurper = new JsonSlurper()
// String 转 Object,通过 mData["key"] 获取值
def mData = jsonSlurper.parseText(responseStr)["data"]
def cardLIst = []
def cardLIstStr = []
for (c in mData) {
cardLIstStr.add('\\"' +c["id"] + '\\"' )
cardLIst.add('"' +c["id"] + '"' )
}
log.info("mData====" +cardLIst)
log.info("mData====" +cardLIstStr)
vars.putObject("cardLIst",cardLIst);
vars.putObject("cardLIstStr",car
通过beanshell 实现
import org.json.JSONObject;
import org.json.JSONArray;
String response = prev.getResponseDataAsString(); //获取获取请求的返回值
JSONObject data_obj = new JSONObject(response);
List card_list = new ArrayList();
JSONArray data_array = data_obj.getJSONArray("data"); //data为数组
log.info("data_array=====" + data_array);
int len = data_array.length();
int i = 0;
for(;i < len;++i)
{
JSONObject jsonTemp = (JSONObject)data_array.getJSONObject(i); //获取 data[ i ] 数组对象;
String cart_id = jsonTemp.get("id").toString();
log.info(cart_id);
card_list.add(cart_id);
};