Android—App—必備開發元件—除錯工具篇—Stetho[配合OkHttp框架使用]
阿新 • • 發佈:2019-02-02
一、First and Foremost :
測試同學,在測試Android—App時,所需要的其中一個重要的技能即判斷頁面資料錯誤後,能迅速定位是伺服器介面問題,還是APP邏輯問題。此時就需要知道伺服器介面返回給APP的原始資料是什麼樣子滴。牛逼的測試同學,一般會在電腦使用抓包工具(如Fiddler、Wireshark、Charles等)進行一大堆配置完畢後,手機配置代理後,獲取抓包。
為簡化上述測試同學的工作量。本文引入一個牛逼的除錯工具—Stetho
二、No picture,You say a JB:
[必須在Chrome瀏覽器,才能使用呢]
三、Show Me Code:
使用開源框架stetho[該框架為Facebook開源,配合OkHttp使用](1)在build.gradle中引入
compile 'com.facebook.stetho:stetho:1.4.2'
compile 'com.facebook.stetho:stetho-okhttp3:1.4.2’
(2)在BaseApplication的onCreate()方法中新增初始化程式碼:
注意既然是除錯工具,上線版本就不需要了,不然看上面的圖片好多資訊容易洩漏。所以需要判斷 isDebug模式下
public class BaseApplication extends Application { public void onCreate() { super.onCreate(); initDebugTool();// 初始化除錯工具 } } // 初始化除錯工具 private void initDebugTool() { if (ReleaseConstant.ISDEBUG) {// 開發模式下 Stetho.initializeWithDefaults(this); } }
(3)在OkHttp生成client的地方,加入攔截器
new OkHttpClient.Builder()
.addNetworkInterceptor(new StethoInterceptor())
.build()
四、Ok,Anyway:
(1)優點:
① 簡潔,不需要測試同學額外安裝軟體+配置代理網路,僅僅一個Chrome瀏覽器,一根USB/Type-C線,即用即走~
②無需Root,即可檢視手機APP中的快取資料③ 方便其他非測試同學,也能隨時檢視Http請求/響應資料。
(2)缺點:
① 目前只能配合OkHttp使用
② 必須配合Chrome瀏覽器使用,誰讓Android、Chrome是一家呢