1. 程式人生 > 其它 >Charles mock資料的四種方式介紹

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中的內容刪除,輸入*

;如果修改Request資料,就將Request勾選;如果修改Response資料,就將Response勾選;

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=趙麗穎

五、弱網測試

轉載至