在使用jmeter進(jìn)行測(cè)試時(shí),需要對(duì)上一步響應(yīng)的明文參數(shù),如userName='tom' token='%sdf%sdkdfj'之類的參數(shù),加密一下,才能進(jìn)行下一步http請(qǐng)求,
涉及三個(gè)問(wèn)題
1、加密要引入自定義的加密函數(shù)
2、要可以拿到第一次http的響應(yīng)
3、第二次http請(qǐng)求前,要?jiǎng)討B(tài)構(gòu)建參數(shù)
1、引入加密函數(shù)
2、在beanShell里拿上一次請(qǐng)求的響應(yīng)
在第一個(gè)請(qǐng)求里 添加,后置處理器
建一個(gè)BeanShell Post Processor
//拿到響應(yīng)值
String json = prev.getResponseDataAsString();
//解析后放到變量里
vars.put("userName",userName);
vars.put("token",token);
3、第二次http請(qǐng)求前,要?jiǎng)討B(tài)構(gòu)建參數(shù)
第二次http請(qǐng)求時(shí),請(qǐng)求的參數(shù)值使用jmeter變量
如
sign=${sign}
添加,前置處理器
建一個(gè)BeanShell PreProcessor
調(diào)用加密函數(shù)進(jìn)行加密后,放入變量里
String userName = vars.get("userName");
String token= vars.get("token");
String sign=encrypt(userName,token);
log.info("sign="+sign);
vars.put("sign",sign);
查看jmeter log日志