下載安裝
Charles官網下載安裝包,下載成功後根據指示安裝即可
官網地址: www.charlesproxy.com
Charles啟用碼:
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
(轉自CSDN:blog.csdn.net/qq_25821067…)
啟用步驟:
開啟Charles,help→Registered to,輸入賬號和key提交破解成功就可以正常使用啦!
HTTP代理設定
設定PC端代理埠號
設定埠號如:8888(也可更改,手機設定代理輸入一致即可)
設定手機端代理埠號
檢視IP地址
手機連線與Mac相同的無線網內,檢視當前Mac IP地址
PS:也可直接option+wifi檢視
iOS手機代理設定
設定-無線區域網,進入已連線WiFi手動設定(埠需與PC端設定埠號一致)
安卓手機代理設定
設定-WLAN,進入已連線WiFi手動設定(埠需與PC端設定埠號一致)
不同安卓手機彈出設定代理入口不同,如果進入網路詳情頁無代理項,可在WLAN列表長按wifi名稱彈出代理設定如下:
當手機進行資料請求時,Charles 將彈出是否允許連線此代理(選擇允許 allow),之後便可進行http抓包
HTTPS代理設定
上面講述了http的代理設定,但有時候發現抓到的https全是亂碼,故需要進行https代理設定,手機上需要安裝Charles SSL證書認證,證書下載地址:charlesproxy.com/getssl,以下分別是iOS和安卓手機的證書安裝方法
PC端SSL設定
選中Proxy→SSL Proxying Setting
開啟SSL代理,並新增信任地址
add新增方法
iOS手機安裝步驟
確保手機網路已連線Charles代理,開啟Safari輸入證書下載地址,提示安裝證書,允許後進入描述檔案安裝頁面
點右上角安裝,提示輸入手機鎖屏密碼,密碼輸入完成後安裝成功
最後進入設定-通用-關於本機-證書信任設定,選擇Charles信任-繼續,安裝完成!
安卓手機安裝步驟
同上,瀏覽器開啟下載地址
證書下載成功後,進入設定-更多設定-系統安全-從儲存的裝置安裝頁面,檢視已下載的證書,選擇證書安裝,輸入證書名稱,證書命名可隨意填寫,確定後安裝成功!
PS:以上為小米手機安裝路徑,不同安卓手機設定裡面選擇不同,可自行查詢系統安全進入證書安裝
Charles的使用
檢視 Structure 和 Sequence
設定為列表方法
清除和暫停
清除是清除所有已經抓到的全部請求
暫停是停止抓取資料,保留之前抓取的資料
過濾 Focus
設定代理後,抓取到手機的各種請求,很多是不需要的,因此需要過濾下請求
選擇需要的請求右鍵選擇Focus
或者抓包列表底部filter輸入需要檢視的請求關鍵字
重複請求 Repeat/Repeat Advanced
tools→ Repeat/ Advanced Repeat (可做簡單的併發壓測)
repeat 單次重複請求
repeat Advanced 多次重複請求
如某個介面共需要請求20次,單次併發請求10個,設定如下
斷言 Breakpoints
測試或者開發中有些場景,可能需要手動造很多資料才能發現問題,那麼mock替換JSON返回值這個功能就非常實用了,右鍵請求url,選擇Breakpoints,則預設新增該請求入介面斷言列表
或者Proxy→Breakpoints Settings
新增需要斷言的請求url如下:
設定斷言成功後,重新發起請求,狀態變為可編輯狀態,進入請求引數or返回引數的修改
修改請求引數↓,設定成功後點選底部“Execute”進入下一步修改返回引數
修改返回引數如下,如title“年糕媽媽商城”需要修改成改成“AAAA”,直接在JSON Text中編輯
修改後如下:
最後放行“Execute”,如果是手機端發起的請求,mock修改後前端頁面就會展示修改後的資料啦!是不是很方便!如果想介面測列表幾十條資料的功能點,可以省去資料庫或者後臺造資料的時間,直接txt造幾十條json資料就可以啦!(PS:修改引數手速要快哦~因為一般情況下,為了使用者體驗,大部分頁面都會相容一定時間內介面無響應,顯示預設友好提示的空頁面,所以替換的json可以事先在json編輯器中或者txt中編輯好,之後直接複製貼上就可以啦~)
重定向 Map Remote
如果在測試過程中,需要切換host不同的環境來測試,那麼替換host功能就可以實現,不需要手動再重新打包更改域名,開啟Charles→Tools→Map Remote→點選ADD
如下如所示方式新增即可
網速模擬 Throttling
Proxy-Throttling勾選Enable Throttling啟用網速模擬,可選擇內建的一些頻寬設定或自定義設定,儲存後可以點選主介面的按鈕開啟/禁用慢網速功能
配置含義:
Bandwidth(頻寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(位元組)
以上都是Charles常用的基礎功能, 其實還有很多其他更有趣功能,可自行摸索~Charles可以說是測試之路上排查問題找問題非常實用的工具啦!測試必備哦~