一、什么叫mock測試
mock測試就是在測試過程中,對某些不容易構造或者不容易獲取的對象,用一個虛擬的對象來創建以便於測試的一種測試方法,其實就是模擬測試,也就是假的測試,實際項目中主要用來模擬那些無法實時連接的后端,或是沒有開發出來的后端,用於獲得結果反饋的一種測試方式。通過發送請求后,模擬后台返回的響應內容來確認當前接口的正確性,而無需真的啟動后端
注意:mock測試這個功能要注冊postman賬號才能用
二、Mock常見的使用場景
1、無法控制第三方系統某接口的返回,返回的數據不滿足要求時
比如:支付中最常用的刷卡支付,有可能直接支付成功,也有可能返回支付中,此邏輯受平台方風控邏輯校驗,對我們來說完全是黑盒子
2、某依賴系統還未開發完成,就需要對被測系統進行測試
前端開發比較依賴后端開發提供的接口,然后根據接口返回值設計各類場景頁面。當服務端開發人員未及時提供接口時可能會影響到前端開發及整個項目的進度,特別是在敏捷開發中,對於上下游開發順序更加依賴
3、有些系統不支持重復請求,如支付功能
4、系統功能有訪問頻次限制,獲取敏感信息的接口訪問頻次不可高於xx等
三、postman如何使用Mock server進行測試?
1)新建mock sever:點擊選擇Mock server,點擊上方的“+”按鈕----》配置Mock 測試的請求,包括請求的方法、請求的URL、請求體、返回的code,返回內容等相關內容,根據接口請求方法配置相應內容,如下圖所示:

注意接口地址url只需要填寫接口地址,不需要添加主機(服務器)地址,如http://www.baidu.com/index接口,我們在URL中只需要填寫/index即可,主機地址再完成MockServer創建后,系統會自動配置相關的環境變量存儲url
2) 點擊NEXT進入下一步,輸入mock server名稱,使用的環境(也就是使用哪個服務器),如果有自己的測試服務器可以選擇對應的測試服務器,沒有合適的環境可以選擇no environment(此時默認使用postman提供的服務器),並且設置成私有mock服務(表示不公開對外訪問),點擊create Mock server按鈕,如下圖

3)創建並獲取API key:點擊右側的postman API key,在之后的user manual頁面上進入到Generating a Postman API key,點擊Postman API Keys page 鏈進入api key頁面,然后點擊Generate API Key按鈕,輸入key的名字並生成API key,如下圖所示


4)回到postman中,點擊collections,發現在右側collection集合里面出現了一個以剛才mock server的name命名的collection,點擊這個集合,顯示之前在mock里面配置的接口,接口地址自動補充了主機地址{{url}}, 點擊右上角眼睛旁的下拉框查看環境,新增了一個剛才mock server的name同名的環境,將環境切換到對應環境如MockTest,同時該環境下發現mock server的url已經配進去了

5) 配置api-key:在右上角眼睛處的環境中點擊Edit,添加第三步中創建的api-key,其中VARIBLE對應填寫api key的NAME, VALUE為對應的值,並保存

6) 請求設置:在對應的請求上的header中輸入API-KEY格式:KEY:x-api-key VALUE:{{NAME}},請求的其他部分與之前設置的一致,點擊send,獲取結果

6) 添加新的請求進行Mock測試:在當前collection下新建一個請求,設置請求方法、參數、url自定義,url要以{{url}}/xxx/xxx格式。header中配置x-api-key和{{name}},配置好后,點擊后面的...,然后選擇add example,配置響應結果並保存,如下圖所示


7)回到剛剛創建的請求,點擊send按鈕進行測試,查看預期返回結果,返回結果就是設置的example的結果

注意:一定要記得先設置對應的example並且保存后再運行新創建的請求,否則返回結果會報錯
