Charles 的 map 功能分爲兩種:
- Map Remote:將指定的網絡請求重定向到另一個地址
- Map Local:將指定的網絡請求重定向到本地文件,所謂的數據 mock
Map Local
使用場景
- 當後端接口還未開發完成,可以根據約定好的接口文檔構造數據,不耽誤測試
- 可以修改接口返回數據,驗證前端對於數據的正確展示
最常見的測試場景(舉例宜搜小說):
-
數據不易出現:
書名大於15個字,這種全靠運氣去碰,當展示不對再想驗證的時候,這種書不好找。 -
數據不好構造:
書籍更新推送,每天會進行推送更新的書籍,但是哪本書明天會更新不確定,數據不知道如何構造,通過該方法刪除掉某本書已更新的最新章節,就可以達到效果 -
不同場景下界面展示不同
封面頁會顯示書籍的詳細信息,比如:作者、章節數、字數、是否完結等,測試時驗證作者名爲空、不爲空、大於5個字、字數大於10萬、100萬、小於1萬、完結/已完結狀態等等,根據需求是有不同的UI展示的,這種情況下找對應的書去一一驗證,非常麻煩。通過 map local,僅需要改本地文件,端上刷新頁面,就可以看到不同的場景。 -
修改配置
經常會有一些活動開關通過接口配置來獲取,當需要測試開關開啓或關閉狀態時,直接修改本地配置文件就可以,省去與運營人員的溝通成本。
如何使用?
方法一:
Tools - Map Local - Map Local Settings - 勾選 Enable Map Local
點擊 Add
會打開 Edit Mapping
設置彈框,輸入請求,映射的本地文件等,此處還支持導入導出功能。
方法二:
在要修改的請求上右鍵 - 點擊最底部的 map local
,會打開 Edit Mapping
設置彈框,輸入請求,映射的本地文件等。
映射接口請求車成功的前提是:接口數據格式必須與約定的格式一致,一般測試過程中接口是已經聯調通過的,所以此處可以使用 save response
方法保存實際響應文件,在文件內直接修改數據就可以啦。
使用:
選中請求 - 右鍵 - Save Response - 選擇保存路徑
保存到本地後,用文本編輯器打開,修改對應的數據後,Map Local
設置本地文件路徑爲保存下來的路徑,重新請求,即可生效。
Map Remote
使用場景
重定向請求到測試環境/線上環境
如何使用?
使用方法同上
在 Map Remote Settings
內設置 FROM 域名 和 TO 域名,就是從哪個域名重定向到哪個域名。
實例:
請求域名:qa.android.api.com
重定向域名:android.api.com
- 右鍵點擊請求,選擇
Map Remote
- map from host 粘貼請求域名,點擊空白區域(會自動拆分項並填入對應區域)
- map to host 粘貼重定向域名
- 點擊 ok
再次發送請求,查看請求域名已經變爲重定向後的域名。