一.跟蹤HTTPS
1.下載官方的證書ssl.zip證書,解壓成*.crt
2.可以通過郵箱或者發布到自己的服務器的方式,然后用手機去下載安裝crt文件。
3.charles設置Proxy-->SSL,勾選Enable SSL Proxying,下面點擊"Add",將你需要驗證的域名+端口號添加進去並且勾選。比如:*.my.com, mobileapi.myserver.com
4.手機設置對應代理的IP,這個時候就可以看見Charles中https請求的內容了
PS: 步驟3中如果你勾選了,但是你的設備沒有裝證書,如果走代理則會請求失敗。不勾選,可以請求成功,但是無法看見內容。
碰到mthd="Connect",request里看見“SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations”的錯誤,則表示第3步沒有將域名設置好。
二.強大的mapping功能
簡單來說,可以遠程的某個文件代理到本地文件,從而進行調試。
1.打開我csdn的blog首頁,然后可以在charles看到所加載的頁面和相關資源,找一個js文件做代理,如圖:
2,創建一個本地文件1.txt,我將realtime.js的 response拷貝下來,並且在開頭添加自己的js語句 “alert(123)”
3.選擇"Map Local..",設置如圖:注意的是在paramter里我設置的是"*",因為很多情況下接口可能會加隨機串,當然URL也可以使用通配符來匹配
4.點擊OK,重新刷新頁面。頁面彈出alert,內容為:"123"。並且在"Notes"的Tab里會告訴你“Mapped to local file: /Users/apple/Desktop/1.txt”,表示成功
5.如果要刪除已經設置的map地址,可以在Tools-->Map Local... 里管理,添加或者刪除,非常方便。
三.網速模擬
Proxy-->Throttling Setting,可以模擬各種情況下的網絡速度,從而可以在低速情況查看APP的使用情況
部分設置含義,Bandwidth(帶寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(字節)
四.斷點功能
APP某個界面需要調用接口,並且返回數據來繪制界面。我們可以通過使用斷點功能來篡改請求的數據或者返回的數據,達到模擬的效果。讓我們來看看怎么做
1.類似於mapping,我們可以針對接口右鍵選擇"BreakPoints",這樣這個接口就被加入到斷點狀態了
2.需要進一步修改斷點的屬性,可以在菜單欄"Proxy"-->"BreakPoints"里進行添加刪除或者修改,配置方式和mapping雷同,也可以使用通配符來操作,並且可以選擇這個斷點是在request還是response,還是兩者都要
3.這個時候再刷新界面,會直接跳轉到斷點模版,這個時候你可以在對應狀態情況下修改request或者response,然后點擊下方按鈕“Execute”。
五.重復發送
這個和前端似乎關系不大,可以對接口測試健壯性,也是右鍵點擊某個請求,然后"repeat" 或者"repeat Advance",后者可以設置循環調用次數和間隔
六.支持中文顯示(Charles亂碼問題)
打開Charles.app,找到Info.plist,然后添加參數-Dfile.encoding=UTF-8
參考
http://www.36ria.com/6278