下图是Http请求所需参数,有两个参数需要处理,一个是timestamp,一个是pwd timestamp填当前时间戳(yyyyMMddHHmmss格式)。pwd填MD5加密(userid[转小写]+固定字符串+userid的密码+timestamp]) 这种情况
下图是Http请求所需参数,有两个参数需要处理,一个是timestamp,一个是pwd
timestamp填当前时间戳(yyyyMMddHHmmss格式)。pwd填MD5加密(userid[转小写]+固定字符串+userid的密码+timestamp])
这种情况jmeter如何处理呢?
可以添加前置处理器,在发送请求前,获取指定格式的当前时间戳,计算出http请求中参数pwd的值。
步骤
1、在jmeter中添加前置处理器
2、在前置处理器中做相关处理 ( 获取指定格式当前时间戳,计算出http请求参数pwd的值)
import org.apache.commons.codec.digest.*; String userid = "harara"; String pwd = "123456"; String fixed = "88888888"; String timestamp = "${__time(yyyyMMddHHmmss,)}"; //pwd组包方式 md5(userid[转小写]+88888888+密码+timestamp) String pwd1 = userid.toLowerCase() + fixed + pwd + timestamp; String sign = DigestUtils.md5Hex(pwd1); vars.put("sign",sign); vars.put("timestamp",timestamp);
3、在http请求中设置时间戳和密码为前置处理器处理得到的值
4、发起请求,在察看结果树中可以看到请求的内容已改为前置处理器中计算的值