測試前端過程中,經常需要驗證各種功能狀態、不同數據層級等返回后的展示效果。一般會通過以下三種方式進行測試:
1.構造滿足條件的測試數據;(耗時費力)
2.修改數據庫;(前提需要了解數據庫數據存儲、溝通成本高)
3.通過網絡代理截獲返回的數據進行修改。(成本低、即時修改即時測試、不需要打擾后端修改數據庫)
綜合,第三種方式較方便且靈活。最近在用抓包工具fiddler,以下通過fiddler介紹如何修改response返回結果。
第一步:下載fiddler的最新版本;
運行fiddler之后測試要調試的頁面是否可以捕獲,刷新頁面后左邊列表會實時顯示目前http請求的條目。如圖紅色部分
第二步:開啟斷點捕獲數據:
點擊菜單欄按鈕【Rules】—【automatic Breakpoints】-【After Response】,意思是要在請求返回后修改返回結果。
這個時候開始刷新頁面,會發現頁面卡着不動,Fiddler左邊的轉台框http請求前出現紅色框框,這個時候說明配置成功;找到需要修改的接口,如果沒有,這個時候在命令行中輸入【go】命令放行,直到要修改的接口出來。
接口找到后,查看右側response的選項卡【Transformer】,記住當前選中的編碼格式,默認【chunked Transfer-Encoding】是選中的,去掉之后下方【HTTP Compression】選中在【GZIP Encoding】上的,沒有的話最好,要記住選項,我們在這里統一勾選【no Compression】意思是不壓縮,如果不點你的代碼沒辦法修改是亂碼的。修改完之后記得是要點回來的,重新壓縮在發送。
第三步:然后點擊【Textview】修改需要的返回結果。
第四步:修改完成后,第二步中選項卡【Transformer】的編碼格式要重新設置回去,重新壓縮在發送。點擊【Run to Completion】。
第五步:驗證頁面是否按照修改預期展示。