问题背景
// 6.把字符串str进行MD5加密,计算签名
// MD5 hash the string
var strmd5 = CryptoJS.MD5(str)
// 7.把签名设置为集合变量
// sign Set the sign as collection variable
postman.setGlobalVariable("sign",strmd5);
pm.collectionVariables.set("sign", strmd5);
如上2个代码段,将某个字符串进行MD5加密以后,设置成全局变量,可以正常取到值
如果设置成集合变量,则不行,返回的结果是[object,Object]
试过联系postman官方和网上找了很多教程,没有解决,加了pm.collectionVariables.set("sign",JSON.stringify(strmd5));也无法解决
解决办法
在计算MD5的后面转成字符串
var strmd5 = CryptoJS.MD5(str).toString(); 即可正常取值
顺便问下各位大佬,为何设置成全局变量的时候不需要转换?而设置成集合变量,就必须转换?否则取到的似乎就是一个集合的值
-----------------------2022-05-02-----------------------------------------
收到了postman的官方答复,大概意思就是说当我们设置成全局变量的时候,不管你得到的值是什么都会在内部当作str 字符串处理,会默认调用 toString 这个函数,即使是布尔运算的真假都会当作文本来处理
|
| Vaishnavi Challa (Postman) Apr 27, 2022, 12:19 UTC Hey Alen,
|
参考文档:
在Postman中,当将MD5加密后的字符串设置为集合变量时,会出现取值显示为[object,Object]。解决方法是在加密后立即转换为字符串,如`var strmd5 = CryptoJS.MD5(str).toString();`。官方解释是全局变量内部会自动调用`toString()`,但集合变量不会。参考相关博客和文档可了解更多详情。"
114440454,10295884,四川麻将AI算法解析:最优拆牌策略,"['麻将算法', '游戏开发', 'Python编程', '策略游戏', '人工智能']

https://blog.csdn.net/zcf980/article/details/83213286
4210

被折叠的 条评论
为什么被折叠?



