Charles mock資料的四種方式介紹
Charles是一款非常好用的代理工具,關於Charles的安裝、破解、安裝證書,連線手機代理等使用方法詳見我之前的部落格:https://www.cnblogs.com/feng0815/p/8043375.html,本次只介紹Charles的幾種mock方法。
Charles提供了Map功能、Rewrite功能、Breakpoints功能,都可以達到修改伺服器返回內容的目的,這三者的差異是:- Map功能適合長期的將某些請求重定向到另一個網路地址或本地檔案
- Map Local功能:將請求的返回重定向到本地檔案中
- Map Remote功能:將請求的域名重定向到一個網路地址
- Breakpoints功能適合做臨時性的修改,request和response都支援修改
- Rewrite功能適合對網路請求進行一些正則替換
一、Breakpoints
該方法是通過打斷點的方式進行mock
對要打斷點的介面右鍵,然後選擇【BreakPoints】(點選一次就行了,點選多次會移除) ,如果是已經好了的,顯示是一個“✔️”的狀態。
該方法是通過攔截請求,修改請求資料,然後再把修改過的請求資料返回給客戶端,下面說下具體的操作步驟
1.找到你想要的連結右鍵勾選Breakpoints功能,工具欄的斷點圖示就會變紅;
2.設定斷點,“Proxy”->“Breakpoints”
3.彈出Breakpoints Settings 彈窗
4.雙擊Location中的想要打斷點的介面,彈出Edit Breakpoints,將Query中的內容刪除,輸入*
5.此時重新訪問該介面,Charles自動跳轉到Breakpoints頁面,此時修改Response資料,點選Edit Response,切換底部tab至Text,修改所需要的資料;
需要注意的是,該方法對時間要求比較高,需要快速的修改請求資料,否則很容易造成超時修改失敗。
二、Rewrite
1.新增rewrite
2.設定要替代的內容
3.再次重新整理頁面
三、MapLocal
1.先抓取某個頁面的介面資料,修改並儲存,如下圖這個頁面
修改介面資料:
2.在要mock的介面右鍵選擇MapLocal
或者從Tools工具欄進入
3.進入設定頁面,現在要替換的資料檔案
5.再次重新整理頁面
四、MapRemote
例:把百度搜索劉亦菲的結果替換成趙麗穎的搜尋結果
mapfrom:https://www.baidu.com/s?wd=劉亦菲
maito:https://www.baidu.com/s?wd=趙麗穎
五、弱網測試
轉載至