ADB是一個 客戶端-服務(wù)器端 程序, 其中客戶端是你用來操作的電腦, 服務(wù)器端是android設(shè)備.
配置adb環(huán)境變量
將SDK下的\platform-tools路徑添加到環(huán)境變量path中
- 查看設(shè)備
adb devices
這個命令是查看當前連接的設(shè)備, 連接到計算機的android設(shè)備或者模擬器將會列出顯示
- 安裝軟件
adb install
這個命令將指定的apk文件安裝到設(shè)備上
adb install 路徑\app-weichi-release.apk
如果顯示success毒姨,那么久安裝apk包成功薄嫡,顯示Failure古话,則安裝失敗坎背。
檢查錯誤窝剖,排錯,再執(zhí)行如下命令:abd install -r 包名.apk
3入撒、獲取app的包名和activity名稱
adb logcat -c #清除歷史日志
adb logcat |findstr START > D:\adb.log
啟動被測應(yīng)用
ctrl+c終止指令
查找日志:cmp=包名/activity名稱}
- 卸載軟件
adb uninstall 包名
- monkey命令
adb shell monkey -p 包名 -v 次數(shù)
這個命令將會啟動你的軟件并且觸發(fā)事件.
- 用monkey做回歸測試
monkey命令后面可以帶很多參數(shù)疙剑,常見的除了-v、-p還有-s屯碴,-s 后面加上monkey上一次運行時候的產(chǎn)生seed值描睦,就可以讓monkey重復(fù)上一次運行時的操作路徑,從而實現(xiàn)回歸測試导而。
例如:
adb shell monkey -p app-weichi-release.apk -s 45544215878 -v 5
- 測試期間收集monkey日志
adb shell monkey -p your.package.name -v 500 > E:\share\monkey.log
-- 把monkey日志導(dǎo)入到E盤的share目錄下忱叭。
monkey的日志:
1. seed值隔崎,標識每一次的monkey運行
2. count值,預(yù)期運行的次數(shù)
3. event Injected值韵丑,實際運行的值
當實際運行的值與設(shè)置的值不一致時爵卒,表示app在運行monkey過程中出現(xiàn)了問題,從而導(dǎo)致monkey無法進行下去埂息。
- 收集logcat日志(logcat日志技潘,記錄了用戶的在系統(tǒng)上的所有操作)
1)、先清空系統(tǒng)上原有的logcat日志:adb logcat -c
2)千康、獲取logcat日志:adb logcat -v time > E:\share\logcat.log -- 把logcat日志導(dǎo)入到E盤的share目錄下享幽。
monkey在運行過程中,可能會出現(xiàn)異常拾弃,一般的原因有以下方面:
1)值桩、應(yīng)用程序崩潰(crash)或接收到任何失控異常;
導(dǎo)致crash的原因有:
a)豪椿、程序存在空指針奔坟;
b)、CPU不足搭盾;
c)咳秉、內(nèi)存不足;
2)鸯隅、應(yīng)用程序不響應(yīng)(application not responding澜建,簡稱:ANR); ---- 當系統(tǒng)5秒內(nèi)無法響應(yīng)用戶輸入事件蝌以,就報ANR的錯誤炕舵。
導(dǎo)致ANR的原因有:
a)、線程堵塞跟畅;
b)咽筋、CPU不足;
c)徊件、內(nèi)存不足奸攻;
monkey在運行過程中出現(xiàn)異常停止的問題分析思路,參考:
思考題:當monkey異常終止庇忌,我如何協(xié)助開發(fā)定位問題舞箍?
參考答案:運行monkey做穩(wěn)定性測試的同時,需要把應(yīng)用的logcat日志取下來皆疹,monkey在運行中出現(xiàn)異常疏橄,一般是兩種原因?qū)е碌模粋€是crash,程序崩潰捎迫,一個是ANR晃酒,程序沒有響應(yīng);當monkey異常終止窄绒,就進入logcat日志贝次,搜索關(guān)鍵字“anr in”,如果存在該關(guān)鍵字彰导,說明app出現(xiàn)了ANR異常蛔翅,接下來把/data/anr/目錄下的trace.txt文件取下來,將出現(xiàn)問題的進程號對應(yīng)的日志發(fā)給開發(fā)定位位谋;如果沒搜索到“anr in”關(guān)鍵字山析,就搜索“nullpointer”,存在該關(guān)鍵字掏父,說明app出現(xiàn)了CRASH異常笋轨,就把nullpointer異常關(guān)鍵字上下的日志發(fā)給開發(fā)定位。