前两天刚下了postman使用了下,感觉用来做报文收发工具还不错,因为公司主要的请求都是经过base64编码的,看请求结果也要经过解码,所以想能不能直接用这个工具,看请求和返回报文。
Get请求因为不能写报文体,所以直接把请求参数编码后写到了url里。返回的报文体也没有直接的解码,就写到test里了。
文档里写的是一个get请求,请求某个时间的汇率
最后设置如下(代码在最后)
点击右上角的设置,设置全局变量:
这个变量用在url上,用{{rateurl}}引用参数
请求返回的参数打印在console中,点击view-show devtools,打开窗口
预处理脚本如下:
// base64 encrypt
var myDate=new Date()
var year=myDate.getFullYear()
var month=myDate.getMonth()+1 //0-11,比正常月份要加一
var rawStr ='{"foreignCurrencyType":1,"year":"'+year+'","month":"'+month+'"}';//未编码的初始报文
var wordArray = CryptoJS.enc.Utf8.parse(rawStr);
var base64 = CryptoJS.enc.Base64.stringify(wordArray);
console.log('base64Encrypt = ', base64);
pm.globals.set("rateurl", base64);
测试脚本如下
var intermediate;
var respstr;
intermediate = CryptoJS.enc.Base64.parse(pm.response.text()); // CryptoJS is an inbuilt object, documented here: https://www.npmjs.com/package/crypto-js
respstr = intermediate.toString(CryptoJS.enc.Utf8);//解码后的报文
console.log('respstr = ', respstr);
pm.test("Body matches string", function () {
pm.expect(respstr).to.include('"success":true');//校验返回结果中是否包含此字符串
});
脚本运行通过: