问题
一、签名参数sign算法由文字描述,算法需自己编写
二、 参数param_json为变化的json串(json串内订单号唯一)
签名sign
1. 手动拼接后在//www.cmd5.com/加密,较为麻烦,且容易出错
2. 编写python或java,实现加密,比方法1高效
3. 在postman的Pre-request Script
let app_secret = "xxx"; //签名app_secret let access_token = "xxx"; let app_key = 'xxx'; let method = 'xxx'; let param_json ='{"thirdOrder":"xxx" ...}'; //参数省略 let timestamp ='2018-06-06 13:52:03'; // 注意格式 let v = '1.0'; //拼接 sign = app_secret +"access_token"+ access_token +"app_key"+app_key+"method"+method+"param_json"+param_json+"timestamp"+timestamp+"v"+v+app_secret; console.log(sign); sign = CryptoJS.MD5(sign).toString(); console.log(sign); //设置环境变量 postman.setEnvironmentVariable("sign", sign);
效率大大提高,推荐方法。
Jmeter处理方法
-------4.1 编写java代码实现加密以及生成唯一订单号
-------4.2 将java代码打包后,拷贝到jmeter的lib/ext目录下
-------4.3 在测试计划中引入jar
-------4.4 添加Bean Sampler,编写(类似java语法)
// 导入外部jar包(计算sign) import com.wdzy.tools.GetSign; // 基本不变参数 String app_secret = "xxx"; //签名app_secret String access_token = "xxx"; String app_key = "xxx"; String method = "xxx"; String timestamp ="2018-06-06 13:52:03"; String v = "1.0"; // 处理第三方订单号 String param_json = new GetSign().getParamJson(); String param_json = param_json.toString(); vars.put("param_json",param_json.toString()); // 拼接sign串 sign = app_secret +"access_token"+ access_token +"app_key"+app_key+"method"+method+"param_json"+param_json+"timestamp"+timestamp+"v"+v+app_secret; // 计算MD5值 String result = new GetSign().MD5(sign); System.out.println(result); // 将sign结果存储到作用域 vars.put("sign",result.toString());
原文来自:
本文地址://lrxjmw.cn/jmeter.html编辑:向云艳,审核员:逄增宝
Linux大全:
Linux系统大全: