前言:
請各大網友尊重本人原創知識分享,謹記本人博客:南國以南i
簡介:
Postman是一個介面測驗工具,在做介面測驗的時候,Postman相當于一個客戶端,它可以模擬用戶發起的各類HTTP請求,將請求資料發送至服務端,獲取對應的回應結果, 從而驗證回應中的結果資料是否和預期值相匹配;并確保開發人員能夠及時處理介面中的bug,進而保證產品上線之后的穩定性和安全性, 它主要是用來模擬各種HTTP請求的(如:get/post/delete/put..等等),Postman與瀏覽器的區別在于有的瀏覽器不能輸出Json格式,而Postman更直觀介面回傳的結果,
背景:
當我們使用Postman做介面測驗時,不免某些介面請求前需要獲取token引數,驗證請求是否有效,
問題引申:當我們獲取到token后需要手動添加到請求頭里面,一旦token過期了,需要重新獲取token,需要手動替換請求頭中的token,周而復始麻煩的很!!!
解決思路:設定Postman中全域變數,將引數回傳值token設定全域變數,便于其他介面呼叫
Test 簡介
在 postman 中封裝了我們常見的斷言(Tests),當然 Tests 除了可以作為斷言,還可以當做后置處理器
- 獲取當前介面的回應,傳遞給下一個介面
- 控制多個介面間的執行順序
一、【登入介面】獲取token
1.1 設定全域變數
設定全域引數,添加請求【登入介面】的請求引數
1.2 呼叫全域引數
二、【查詢介面】并入token
2.1 【查詢介面】token驗證

2.2 【登錄介面】中使用Tests陳述句自動添加環境變數
//把回傳值決議成json字串 var res = JSON.parse(responseBody) //引數填充 postman.setEnvironmentVariable("authorization",res.value.token); //簡寫 //pm.environment.set("authorization", res.value.token); //自動設定值 //postman.setGlobalVariable("authorization",res.value.token)

發送請求運行后,再次查看【登入請求】,全域引數已自動添加token值

2.3 【查詢介面】中參考引數值
參考引數值,實作每執行【登入介面】請求,完成token自動賦值替換

Tests 中常用方法
//1、設定環境變數 postman.setEnvironmentVariable("key", "value"); 或 pm.environment.set("key", "value"); //2、設定全域變數 postman.setGlobalVariable("gv", "111111"); 或 pm.globals.set("g", "2222"); //3、檢查resonse body中是否包含某個string tests["結果:Body matches string"] = responseBody.has("string_you_want_to_search"); 或 pm.test("結果:Body is correct", function () { pm.response.to.have.body("response_body_string"); }); //4、驗證Status code狀態回應碼是否是某個值 tests["Successful POST request"] = responseCode.code === 200 || responseCode.code === 202; 或 pm.test("Successful POST request", function () { pm.expect(pm.response.code).to.be.oneOf([200,202]); });
Pre-request Script 簡介
- Pre-request Script是集合中請求發送之前需要執行的代碼片段
- 請求引數中包含一個亂數或者請求header中包括一個時間戳,或者你的請求引數需要加密
一、【登錄介面】請求發起前處理
使用Pre-request Script陳述句對密碼進行加密請求
var body_json = { "userCode" : "admin", "passwd" : "123456" } pwd = body_json["passwd"] // 獲取passwd的值 var pwd = CryptoJS.MD5(pwd).toString() // md5加密pwd變數 body_json["passwd"] = pwd // 設定passwd為加密后的密碼 console.log(body_json) var body_str = JSON.stringify(body_json) // converts objects to strings pm.environment.set('request_body', body_str) // 把處理后的body賦值給引數request_body,在body中輸入{{request_body}}
樣例:

Pre-request Script 中常用方法
// 清除全域變數 pm.globals.unset("variable_key"); // 清除環境變數 pm.environment.unset("variable_key"); // 獲取全域變數 pm.globals.get("variable_key"); //獲取一個變數 pm.variables.get("variable_key"); // 獲取環境變數 pm.environment.get("variable_key"); //發送一個請求 pm.sendRequest("https://postman-echo.com/get", function (err, response) { console.log(response.json()); }); //設定環境變數 pm.globals.set("variable_key", "variable_value");
總結:
我是南國以南i記錄點滴每天成長一點點,學習是永無止境的!轉載請附原文鏈接!!!
參考鏈接、參考鏈接、
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/458468.html
標籤:Java
