Postman進行簡單的base64編碼解碼請求測試

b20111102發表於2018-01-18

前兩天剛下了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');//校驗返回結果中是否包含此字串
});

指令碼執行通過:


相關文章