jmeter 接口测试 签名_接口-签名Sign-Jmeter写法

接口-签名Sign-Python写法

实现目标

/v1/shippingtickets/inbound/departure 发货接口 POST请求

需要进行签名校验 【X-Sign】

Content-Type: application/json; charset=UTF-8

X-Timestamp: 1589297138920

X-Nonce: 93295642

X-Sign: 2a76a7d2ec34760afb7f4f3ff5a02ef3

X-Client-Id: KT071101

传参:{"ticketNo":"HCSP202005120006","trackingNumber":"SF1589297133080","chargerSerialNum":"SF1589297133080","shippingComment":"感谢技术支持,总算发货成功了"}

sign是由【传参+时间戳+随机数+"cM5qa0Xv9G868G"】转成MD5码

实例

用自定义变量,把参数变成2部分

fe912c21c43d8f548b6796d2f2c9d7b8.png

aa:    {"ticketNo":"

bb:    ","trackingNumber":"SF${__time(,)}","chargerSerialNum":"SF${__time(,)}","shippingComment":"感谢技术支持,总算发货成功了"}

用Beanshell Sameple,使用java代码生成sign

85af6c3a8710622dbcc24c85df708357.png

import static java.lang.Math.*;

import org.apache.commons.codec.digest.DigestUtils;

Long a = System.currentTimeMillis(); // 当前时间戳

String Timestamp = String.valueOf(a);

log.info("debug info {}",a);

final double d = Math.random();

final int b = (int)(d*100000000);

String Nonce = String.valueOf(b);

log.info("debug info2 {}",b);

String c = vars.get("aa")+vars.get("ticketNo")+vars.get("bb")+a+b+"E92EU399R3R3R3";

log.info("debug info3 {}",c);

//String str = c; //要加密的字符串

String md5_after = DigestUtils.md5Hex(c); // md5加密

log.info("debug info4 {}",md5_after);

vars.put("Timestamp",Timestamp);

vars.put("Nonce",Nonce);

vars.put("Sign",md5_after);

添加HTTP信息头管理器

9da8a509e368e94468a710463c4649d4.png

04dd8f899fd4f6a3cd4be8a8daccb450.png

7c8d61272630d37f6e3ff3da2c80fd7c.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值