charles工具的使用


charles工具使用

charles除了之前介紹過模擬弱網的功能外,還有很多強大的功能。最近客戶端測試用到的功能介紹如下:

.准備工作

1.手機設置代理

charles設置代理端口號8888:Proxy→ Proxy Settings

 

手機設置代理,連接wifi,點開設置http代理,選擇手動,服務器填寫charles所在本機的ip地址,端口號8888

 

2.SSL代理設置,允許抓取https協議

Proxy→SSL Proxying Settings→勾取Enable SSL Proxying→add→添加想要抓取的域名和端口號,以抓取阿波羅app數據為例

 

.攔截某個軟件的接口數據

手機代理到電腦,charles會出現彈窗,詢問allow還是deny,選擇allow,連接成功。

通常情況下,我們需要對網絡請求進行過濾,只監控向指定目錄服務器上發送的請求。

在Charles的菜單欄選擇"Proxy"->"Recording Settings",然后選擇Include欄,選擇添加一個項目,然后填入需要監控的協議,主機地址,端口號。這樣就可以只截取目標網站的封包了。如下圖截取阿波羅app數據:

 

 

如果只測試一個功能的情況下,可以只截取單個接口,例如測試阿波羅首頁廣告,只需截取splash接口,添加並勾選。

 

 

勾選Proxy →Start Recording,開啟抓取記錄,可以在charles界面看到你所過濾的網絡請求,以阿波羅app為例:

 

 

Charles主要提供2種查看封包的視圖,分別名為“Structure”和"Sequence"。

  1. Structure視圖將網絡請求按訪問的域名分類。
  2. Sequence視圖將網絡請求按訪問的時間排序。

大家可以根據具體的需要在這兩種視圖之前來回切換。

對於某一個具體的網絡請求,你可以查看其詳細的請求內容和響應內容。如果響應內容是JSON格式的,那么Charles可以自動幫你將JSON內容格式化,方便你查看。

.更改返回數據來測試各種情況

1.強大的mapping功能

a.Map Local

可以將遠程的某個文件代理到本地文件,進行調試。使用方法如下:

Tools→Map Local→勾選Enable Map Local→Add→填入需要映射本地文件的協議,主機地址,端口號

 

本地文件可以是自己造的測試數據,也可以是接口返回的數據保存到本地再進行修改,只需先將接口返回數據進行保存到本地:點擊某接口response,右擊save response。

b.Map Remote

Map Remote的功能原理和Map Local的原理相同,都是替換請求,只不過Map Local替換的請求為本地文件,而Map Remote替換的請求為線上請求。

使用方法:Tools→Map Remote→勾選Enable Map Remote→Add→填入需要替換請求的協議,主機地址,端口號。

 

如圖,splash接口映射到entry接口,splash接口訪問的是entry接口的數據。

2.斷點功能

我們可以通過使用斷點功能來篡改請求的數據或者返回的數據,達到模擬的效果,已測試阿波羅app為例方法如下:

類似於mapping,我們可以針對接口右鍵選擇"BreakPoints",這樣這個接口就被加入到斷點狀態了

 

需要進一步修改斷點的屬性,可以在菜單欄"Proxy"–>"Breakpoints Settings"里進行添加刪除或者修改,配置方式和mapping雷同,並且可以選擇這個斷點是在request還是response,還是兩者都要。

 

這個時候再刷新app界面,會直接跳轉到斷點模版,這個時候你可以在對應狀態情況下修改request或者response,然后點擊下方按鈕“Execute”。

跳轉到斷點界面,先點擊下方執行按鈕“Execute”。

 

 

然后點開Edit Response界面,選擇JSON格式,格式清晰,方便修改,直接在上面進行數據修改,改成你想要測試的數據,然后點擊執行按鈕

 

 

再次刷新app界面,然后app返回的是新改的數據,根據返回數據測試客戶端顯示是否正確。

 

不斷更新。。。

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM