一、前言:
當(dāng)我們的app開發(fā)即將進(jìn)入尾聲階段,將投放給用戶使用前必須要做的一件事就是測試,如果app規(guī)模比較小,開發(fā)者會進(jìn)行一小部分的測試,然后就正式發(fā)布,當(dāng)app規(guī)模比較大時就需要專門的測試人員進(jìn)行編寫代碼做好發(fā)布前的測試,一般需要采集app運(yùn)行的生命周期中各種數(shù)據(jù),像繪制速度,內(nèi)存使用情況等,對于中小型企業(yè)這部分的代碼還是有一點(diǎn)的工作量,考慮到這些,Dokit便應(yīng)運(yùn)而生,專門解決這些痛點(diǎn),利用Dokit我們可以快速接入這些測試相關(guān)的工具,并且Dokit也允許在此之上進(jìn)行一些自定義的工具的開發(fā)。
Android接入文檔:https://xingyun.xiaojukeji.com/docs/dokit/#/androidGuide
介紹文檔:https://blog.csdn.net/xyh15060341956/article/details/122672679
二、項(xiàng)目部署
真正的接入的代碼就三行,感謝Dokit的開發(fā)者,使得接入測試工具的難度大大降低,接下來簡單介紹一下項(xiàng)目的部署
在app的build.gradle下面加入以下依賴即可引入DoKit項(xiàng)目
debugImplementation "io.github.didi.dokit:dokitx:3.5.0"
同時還要在android同級加入一個閉包進(jìn)行通用的設(shè)置
dokitExt {
comm {
gpsSwitch true
networkSwitch true
bigImgSwitch true
webViewSwitch true
}
slowMethod {
stackMethod {
thresholdTime 10
}
normalMethod {
thresholdTime 500
}
}
}
最后不要忘記應(yīng)用插件哦
plugins {
...
id 'com.didi.dokit'
...
}
在項(xiàng)目的build.gradle依賴中加入
classpath 'io.github.didi.dokit:dokitx-plugin:3.5.0'
最后一步在gradle.properties設(shè)置gradle相關(guān)選項(xiàng)
DOKIT_PLUGIN_SWITCH=true
DOKIT_THIRD_LIB_SWITCH=true
DOKIT_LOG_SWITCH=true
DOKIT_WEBVIEW_CLASS_NAME=com/didichuxing/doraemonkit/widget/webview/MyWebView
DOKIT_METHOD_SWITCH=true
DOKIT_METHOD_STACK_LEVEL=4
DOKIT_METHOD_STRATEGY=0
最后gradle編譯一下,部署就完成了
三、三、測試效果
這里的采用的測試環(huán)境時Android Studio + android 10 系統(tǒng)進(jìn)行測試的,下面只需在主activity中添加下列代碼即可完成測試工具的集成
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
...
DoKit.Builder(this.application)
.productId("在DoKit平臺的id")
.build()
...
}
}
真的只有三行,如果要添加自定義組件那多幾行
獲得相關(guān)的測試數(shù)據(jù)需要到DoKit平臺注冊一個賬號獲取相關(guān)的id,以便開發(fā)者分析app各個界面的運(yùn)行情況,以下兩張截圖便是使用DoKit項(xiàng)目下的效果和具體界面,測試工具是以懸浮窗的形式出現(xiàn)在測試app上的
