前言:
Mock通常是指:在測試一個對象時,我們構造一些假的對象來模擬與其交互。而這些Mock對象的行為是我們事先設定且符合預期。通過這些Mock對象來測試對象在正常邏輯,異常邏輯或壓力情況下工作是否正常。
那么哪些測試場景需要進行mock呢?
1)上游接口不方便更改,下游無法聯調,此刻需要mock上游數據來完成本次的預期結果
2)依賴的上游的接口尚未開發完成
3)接口返回的結果不滿足目前的測試需求。雖然接口已經實現,但是個別字段/返回不滿足測試要求;
常用的代理工具攔截請求:Charles、 Fiddler【本文以Fillder工具示例】
mock數據分為兩種情況:
1:mock請求的數據已至返回數據變更為預期結果
2:mock返回的數據已至返回至界面顯示效果
1:修改請求數據
1)右鍵選中請求》replay》Ruissue and Edit 》修改參數》run to completion
- rules ->Automatic BreakPoints -> Before request :攔截客戶端發送到服務器的請求,修改header的內容
2:修改返回數據After response(攔截服務器響應數據,修改后再返回客戶端)
1)打開URL訪問
2)找到相對應的接口,設置斷點攔截請求(After response)
3)點擊攔截接口》修改壓縮為none,修改數據》設置為壓縮GIZP
4)拖動接口至規則》取消攔截放行
5)繼續運行,修改返回數據成功
延遲接口修改
1、 獲取需要延遲的接口
2、配置延遲規則 AutoResponseder
延遲規則配置:*delay:2000 延遲2S
3、然后開啟是請求延遲還是響應延遲
模擬弱網環境
Bandwidth(帶寬) Utilistation(利用百分比) Round-trip(往返延遲) MTU(最大傳輸單元)
3G:300k-2Mbps左右
2.5G(GPRS)一般在100kbps
2G(GSM)一般在5-9kbps
PS:弱網、2G、3G建議的上下行速率如下,同時還可以控制丟包率的數據
打開Fiddler,Rules->Performance->勾選 Simulate Modem Speeds,勾選之后訪問網站會發現網絡慢了很多
Fiddler弱網的原理
Rules—>Cutomize Rules打開CustomRules.js 文檔,設置網絡參數
if (m_SimulateModem) { // Delay sends by 300ms per KB uploaded. oSession["request-trickle-delay"] = "0.3"; // Delay receives by 150ms per KB downloaded. oSession["response-trickle-delay"] = "0.15"; }oSession["request-trickle-delay"] = "0.3";
- Delay sends by 300ms per KB uploaded:上傳1KB內容需要300ms,轉化一下上傳速度:1Kb/0.3s = 3.3KB/s,網絡上行速度為3.3KB
- Delay receives by 150ms per KB downloaded:下載1KB內容需要150ms,轉化后的下載速度:1KB/0.15s=6.6KB/s,網絡下載速度為6.6KB,若下載速度為50KB/s 則延遲時間應為20ms(1kb/50kb)
- 同時選擇接口開始和結束請求,查看響應時間
-
https://www.cnblogs.com/fighter007/p/13999543.html
https://www.doc88.com/p-3015598697603.html