從抓包砍到介面測試過程解析
一、為什麼抓包
1.從功能測試角度,通過抓包檢視隱藏欄位
Web 表單中會有很多隱藏的欄位,這些隱藏欄位一般都有一些特殊的用途,比如收集使用者的資料,預防 CRSF 攻擊,防網路爬蟲,以及一些其他用途。這些隱藏欄位在介面上都看不到,如果想檢測這些欄位,就必須要使用抓包工具。
- 通過抓包工具瞭解協議內容,方便開展介面和效能測試
效能測試方面,效能測試其實就是大量模擬使用者的請求,所以我們必須要知道請求中的協議內容和特點,才能更好的模擬使用者請求,分析協議就需要用到抓包工具;介面測試方面,在介面測試時,雖然我們儘量要求有完善的介面文件。但很多時候介面文件不可能覆蓋所有的情況,或者因為文件滯後,在介面測試過程中,還時需要藉助抓包工具來輔助我們進行介面測試。
- 需要通過抓包工具,檢查資料加密
安全測試方面,我們需要檢查敏感資料在傳輸過程中是否加密,也需要藉助抓包工具才能檢查。
- 處理前後端 bug 歸屬之爭
在我們提交 bug 的時候,經常會出現前端(客戶端展示)和後端(服務端的邏輯)的爭議,那麼可以通過抓包工具,確實是資料傳遞問題還是前端顯示的問題。如果抓出來的資料就有問題的話,那麼一般是後端的問題;如果抓出來的資料是正確的,那麼基本上可以斷定是前端顯示的問題。
- 通過抓包分析,可以更好的理解整個系統
經常使用抓包工具輔助測試,可以很好的瞭解整個系統,比如資料傳輸過程前後端的關係,以及整個系統的結構。特別是對現在的微服務架構的產品,抓包能夠更好的梳理和掌握整個系統各個服務之間的關係,大大增加測試的覆蓋度。另外還可以增進對程式碼、HTTP 協議方面知識的理解。
二、如何抓包
常用的抓包工具有 Fiddler、wireshark、Charles 以及瀏覽器自帶 F12 等多種工具。那麼在這裡給大家演示如何用瀏覽器自帶 F12 來進行抓包。
第 1 步:開啟瀏覽器後,按 F12,選擇網路--點選設定按鈕--勾選持續記錄
第 2 步:在瀏覽器上操作,在網路中就可以看到 HTTP 請求資訊(登入操作)
第 3 步:找到操作的請求資訊(登入操作)
第 4 步:獲取請求的四要素,用於做介面測試
1-請求地址:
2-請求方法:post
3-請求引數:
{"logo":"HC","username":"wuye_kemi","passwd":"xxxx","validateCode":"LEMON","errorInfo":""}
- username:登入時的使用者名稱
- passwd:登入時的密碼
- validateCode:登入時的驗證碼
4-響應結果:
{"userName":"wuye_kemi","userId":"302021110504836175","token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqY"}
三、Postman 介面測試實戰
通過 F12 抓包後我們獲取到了相關的介面資訊,接下來就可以用 postman 介面工具來進行介面的測試了。
依次把請求地址、請求方式、請求引數填入 postman 工具中,點選 Send 傳送,再核對響應結果與抓包響應結果即可。這樣子一個簡單的介面除錯就完成了。
四、總結
如果要通過抓包的方式來進行介面測試,需要具有一定的網路協議基礎,這些基礎可以讓你快速找到請求和介面資訊。
其次是在進行介面測試過程中,我們最好與開發進行溝通,因為他們更加清楚每個引數的含義以及型別約束,想要更全面的測試介面,可以將抓包資訊整理成文件,並與開發溝通完善文件。
有介面文件再進行用例設計與介面執行才是規範的測試流程哦。