【发布时间】:2020-12-12 22:39:48
【问题描述】:
在使用 cryptojs 预请求脚本运行邮递员集合时,我收到“TypeError: Cannot read property 'sigBytes' of undefined”错误。预请求脚本计算一个 hmac-sha256 签名,该签名也是要调用的主 API 参数的一部分。
下面是我的脚本:
let mobile = pm.environment.get('mobileNumber');
let value = pm.environment.get('value');
let merchantId = pm.environment.get('merchantId');
let referenceNumber = pm.environment.get('referenceNumber');
let authCode = pm.environment.get('authCode');
let secretKey = pm.environment.get('secretKey');
let string = mobile + value + merchantId + referenceNumber + authCode;
pm.environment.set('string', string);
let hmac = CryptoJS.HmacSHA256(string, secretKey);
pm.environment.set('hmac', hmac);
signature = "hmac256-" + hmac;
pm.environment.set('signature', signature);
我已经尝试将字符串和 secretKey 编码为 UTF-8、base64stringify、JSON stringify,但我仍然遇到错误。
以下是每个变量的示例值:
- 手机 - +639012345678
- 值 - 100
- merchantId - TEST_MERCHANT1
- referenceNumber - TEST_MERCHANT1-000001
- authCode - 000001
- secretKey - a2c36909-c9cc-4ed3-9423-ec170e1eb6c2
【问题讨论】:
标签: postman hmac cryptojs postman-collection-runner postman-pre-request-script