利用Java处理Jmeter接口常用参数

问题

一、签名参数sign算法由文字描述,算法需自己编写

二、 参数param_json为变化的json串(json串内订单号唯一)

签名sign

1. 手动拼接后在https://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 添加BeanShell 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());

本文地址:https://www.linuxprobe.com/jmeter.html

转载于:https://my.oschina.net/u/3585265/blog/3095105

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值