公眾號:AirPython
作者:星安果
1.前言
抓包和 Mock 是日常工作中經常用到的 2 個功能,可能第一時間你會想到 Charles、Fiddler
但是這兩款工具在 Mock 數據管理上功能過於簡單,並且擴展性不強
這裡,強烈推薦美團剛開源的一個工具,即:Lyrebird
2.介紹
Lyrebird 是一個基於 mitmproxy 攔截及模擬 HTTP/HTTPS 網絡請求的面向移動端的插件式測試平臺
項目地址:
https://github.com/Meituan-Dianping/lyrebird
主要功能為:
網絡抓包Mock 功能及管理支持插件功能包含實現埋點自動測試、API 覆蓋率統計、行動裝置及 APP 控制和信息記錄、自定義檢查腳本等一系列功能
3.準備
首先,安裝依賴庫
# 安裝依賴庫:lyrebirdpip3 install lyrebird
然後,使用 lyrebird 命令啟動服務
lyrebird默認方式啟動服務,打開瀏覽器操作界面lyrebird -v啟動服務,打開瀏覽器操作界面,並會在控制臺顯示詳細的日誌信息lyrebird -b啟動服務,不打開瀏覽器lyrebird --mock 9090 --proxy 4272 --data . --config your/config/file自定義參數的方式,啟動服務,並打開瀏覽器需要指出的是,lyrebird 默認代理伺服器埠號為:4272;Mock 服務及前端埠號為:9090
當然,也可以通過最後一種方式自定義代理伺服器的埠號及 Mock 服務埠號
4.使用
在使用之前,我們需要拿到 PC 端的 IP 地址,根據啟動代理服務,在移動端配置手動代理
比如,如果是以默認的方式啟動 lyrebird 服務,手動代理的埠號配置為 4272
然後,利用瀏覽器打開 http://mitm.it 下載並安裝 mitmproxy 證書
最後,就可以對移動端的 App 進行抓包了
4-1 抓包
lyrebird 服務的操作界面默認停留在抓包界面,會將錄製的請求數據在左側列表中顯示,點擊某一個請求,右側會展示請求報文的詳細內容
工具欄包含停止、清除兩個功能,用於管理請求列表
另外,右上角的輸入框可以通過關鍵字對請求進行篩選
4-2 Mock
lyrebird 對某一個接口進行 Mock 也非常方便
首先,在左側列表中選中 DataManager,然後添加一個 Group
接著,回到請求列表頁面
選擇一個激活的 Mock 組,然後選中待 Mock 的請求接口,點擊保存按鈕
然後,回到 DataManager Tab,對需要 Mock 的接口的請求、響應進行編輯,然後保存
最後,回到請求主界面,再次錄製相同的接口,會發現該接口會返回上一步設置的 Mock 數據
並且凡是走 Mock 請求的項都被標註為:mock
5.最後
實際上,lyrebird 除了抓包和 Mock,還可以通過插件擴展能力,實現更加複雜的功能
如果你覺得文章還不錯,請大家 點讚、分享、留言下,因為這將是我持續輸出更多優質文章的最強動力!