軟體測試必備工具之抓包工具Charles教程

測試店小二 發佈 2022-06-03T03:13:47.792179+00:00

在做客戶端/服務端測試時,經常需要對客戶端的操作進行抓包分析,排查請求和響應數據是否符合預期。因此抓包能力是軟體測試從業者的必備技能。目前行業里常用的抓包工具主要有Fiddler和Charles。本文重點講解下Charles的基本使用。

在做客戶端/服務端測試時,經常需要對客戶端的操作進行抓包分析,排查請求和響應數據是否符合預期。因此抓包能力是軟體測試從業者的必備技能。目前行業里常用的抓包工具主要有Fiddler和Charles。本文重點講解下Charles的基本使用。

Charles 是一款支持 HTTP 代理和抓包的網絡代理軟體。瀏覽器或APP通過 Charles 訪問網絡時,它可以記錄並顯示所有發送、接收的數據。

一、安裝

Charles依賴Java運行環境,本機需要先配置好jdk(具體安裝配置略)

訪問Charles官網:https://www.charlesproxy.com/

點擊右側下載按鈕,就能下載最新版Charles,在Windows下雙擊安裝即可。目前最新的版本是4.6.2

二、Web抓包

默認情況下,啟動Charles後,就能自動抓Chrome瀏覽器、Firefox瀏覽器的包,如果不能抓,請檢查Charles中是否勾選了代理開關Windows Proxy/Mac Proxy

三、常用功能

Charles主要提供兩種查看封包的視圖,分別名為 「Structure」 和 「Sequence

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

四、請求過濾

默認情況下Charles會抓取所有的數據包,並展示在請求列表中。但是大多數情況下,我們只關係某個ip或某個域名下的包Charles提供了過濾器,幫助我們顯示/排除指定的HTTP請求

Charles有兩種方式可以實現請求過濾:

方法一:

請求列表下方的Filter可以實現簡單的過濾功能,輸入關鍵字即可篩選出對應URL

方法二:

菜單欄「Proxy-Recording Settings」里,設置include(包含)和exclude(排除),可以僅顯示或者不顯示指定的url

五、弱網測試

和Fiddler一樣,Charles也提供了弱網模擬的功能,測試瀏覽器/APP在弱網條件的使用情況。

菜單欄里「Proxy」–>「Throttle Setting」里,Charles內置了不同的網絡模式:56kbps、256kbps ... 3G、4G等,來模擬不同弱網效果。還可以手動修改DownloadUpload的值,模擬不同的速度。

需要注意的是,這裡的網絡速率值,單位是bps,對應到常用的byte/s,還需要除以8,如圖中的4096kbps,實際為512kb

六、請求/響應點

如果想對某個請求進行攔截,修改請求的參數。或者修改某個請求響應中的值,可以使用Charles的斷點功能

在請求列表中,選擇某個URL,右鍵點擊「Breakpoints」,默認就給這個請求設置了請求+響應斷點。進行指定的操作時,Charles就會攔截對應的請求,並支持數據修改

修改服務端返回的響應內容,比如將success修改為fail

如果想做一些更詳細的的斷點配置設置Breakpoint Settings

七、App抓包

和Fiddler一樣,Charles也可以抓APP端的包,需要進行以下設置,ProxySetting中設置允許遠程HTTP代理

電腦和手機連接同一WiFi,在手機端設置WiFi代理,指向Charles所在的ip8888

最後我也整理了一些軟體測試學習資料,對於學軟體測試的小夥伴來說應該會很有幫助,為了更好地整理每個模塊

需要的私信我關鍵字【555】免費獲取哦 注意關鍵字是:555

全套軟體測試自動化測試教學視頻

300G教程資料下載【視頻教程+PPT+項目源碼】

全套軟體測試自動化測試大廠面經

關鍵字: