TA的每日心情 | 开心 2016-3-25 17:20 |
---|
签到天数: 2 天 连续签到: 1 天 [LV.1]测试小兵
|
在用jmeter接口自动化的时候,现在公网的接口都是加密的比如这样的
http://192.168.204.11:8010/ots/m ... 2015_12_09_12_50_33(不加密的时候)
其中的uid参数是注册接口返回的
uid参数利用beanshell后置处理器已经从登陆接口返回的加密数据解密获取出来了
然后每次利用前置处理器beanshell写的加密方法把body体进行加密
但是,现在遇到一个问题,如果在http请求阶段就有前一个接口里返回的参数,我还要进行加密处理,不知道怎么解决了????????
现在我只会这种http请求里没有前一个接口返回参数情况的
比如这种:POST http://192.168.204.11:8010/ots/m ... 2015_12_09_12_50_33
这种情况我是这样做的:
前置处理器里这样写:
import com.cmri.ots.crypt.EncryptedUtils;
import com.alibaba.fastjson.JSONObject;
JSONObject paramsObj = new JSONObject();
paramsObj.put("uid",vars.get("uid"));
paramsObj.put("probeid","1006");
paramsObj.put("hav","V_3.4.0");
paramsObj.put("licid","55251aef44aef2613dd7c29f26eb4478");
System.out.println("-----------------");
String encrypedRequestMessage = EncryptedUtils.encodeOts(paramsObj.toString());
vars.put("login_encrypedRequestMessage", encrypedRequestMessage);
System.out.println(encrypedRequestMessage);
后置处理器里这样写:
import com.cmri.ots.crypt.EncryptedUtils;
import com.alibaba.fastjson.JSONObject;
String json = prev.getResponseDataAsString().replace("\r","").replace("\n","");
String encrypedPostMessage = EncryptedUtils.decodeOts(json);
JSONObject object = JSONObject.parseObject(encrypedPostMessage);
JSONObject detail = object.getJSONObject("detail");
vars.put("authcookie", detail.getString("authcookie"));
然后body 里直接引用:${login_encrypedRequestMessage}
所以想问问大家:如果在http请求阶段就有前一个接口里返回的参数,我还要进行加密处理,要怎么处理???????? |
|