Postman &引用;TypeError:无法读取属性';sigBytes';“未定义”的定义;预请求CryptoJS脚本中出错

Postman &引用;TypeError:无法读取属性';sigBytes';“未定义”的定义;预请求CryptoJS脚本中出错,postman,hmac,cryptojs,postman-collection-runner,postman-pre-request-script,Postman,Hmac,Cryptojs,Postman Collection Runner,Postman Pre Request Script,我在使用cryptojs预请求脚本运行邮递员集合时遇到“TypeError:无法读取未定义属性'sigBytes'的错误”。预请求脚本计算hmac-sha256签名,该签名也是要调用的主API参数的一部分 以下是我的脚本: let mobile = pm.environment.get('mobileNumber'); let value = pm.environment.get('value'); let merchantId = pm.environment.get('merchantId'

我在使用cryptojs预请求脚本运行邮递员集合时遇到“TypeError:无法读取未定义属性'sigBytes'的错误”。预请求脚本计算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-测试商品1
  • 参考编号-测试1-000001
  • 验证码-000001
  • 秘钥-a2c36909-c9cc-4ed3-9423-ec170e1eb6c2

谢谢你的帮助

看起来至少有一个环境变量未定义


错误消息是由于CryptoJS中的错误造成的:

pm.environment.get的变量调用是错误的;我需要使用正确的“get”调用(即
pm.collectionVariables.get
pm.variables.get