目前項目涉及PC及APP端接口共用問題,後臺接口給登錄後的用戶設置了一個token,接口調用時請求頭的參數值必需要動態生成,爲了解決這個問題,查看Postman API文檔,配置了能夠方便後端開發者的Tests腳本,若是你須要,請按下面方式配置。後端
用戶登錄dom
用戶登錄頁面的請求頭參數爲固定不變,如圖所示測試
當填寫正確的用戶名和密碼時,系統用返回以下圖的數據,裏面攜帶token的值,如圖所示ui
在用戶登錄測試接口頁面,在點擊Tests,在裏面添加下面代碼,如圖所示:
加密
pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); var data = JSON.parse(responseBody); //key值 var key = '要加密的Key'; //current-timestamp var currentTimestamp = new Date().getTime().toString(); //nonce-str var nonceStr = getStr(32); function getStr(len){ len = len || 32; var chars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; var maxPos = chars.length; var s = ''; for (let i = 0; i < len; i++) { s += chars.charAt(Math.floor(Math.random() * maxPos)); } return s; } //token var token = data.data.token; //拼接加密字符串 var signStr = token + currentTimestamp.substring(0,10) + nonceStr.substring(0,16) + key; var CryptoJS = require('crypto-js'); var lpSign = CryptoJS.MD5(signStr).toString(); // 設置環境變量token,供後面的接口引用 pm.environment.set("token", data.data.token); // 設置環境變量current-timestamp,供後面的接口引用 pm.environment.set("current-timestamp", currentTimestamp); // 設置環境變量current-timestamp,供後面的接口引用 pm.environment.set("nonce-str", nonceStr); // 設置環境變量current-timestamp,供後面的接口引用 pm.environment.set("lp-sign", lpSign);</pre>
配置環境變量,由於每一個接口都涉及請求頭,全部咱們用不用Postman中的環境變量,來實現,請求頭動態更新
步驟以下
一、 打開設置code
二、 添加新環境blog
三、 添加環境變量token
保存環境變量,在調用其它接口時,先選擇環境,以下圖所示接口
當Postman調用登錄接口時,會自動把缺乏的環境變量值都添充完整,以下圖所示後端開發
調用其它接口時,請求頭引用環境變量,具體語法以下圖所示
這樣咱們之後,調用其它接口,就不用每次都修改請求頭數據,只要引用環境變量就完美解決問題。
注:老版本Postman有問題,本測試版本爲6.5.2