当前位置 : 主页 > 网页制作 > HTTP/TCP >

jmeter->http请求根据账号和时间戳计算请求参数的值

来源:互联网 收集:自由互联 发布时间:2021-06-16
下图是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、发起请求,在察看结果树中可以看到请求的内容已改为前置处理器中计算的值

网友评论