ADB命令使用詳解
ADB是一個 客戶端-服務器端 程序, 其中客戶端是你用來操作的電腦, 服務器端是android設備.
1、連接android設置
adb connect 設備名
例如:
adb connect 127.0.0.1:62025
adb connect 127.0.0.1:62001
2. 查看設備
adb devices
這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示
3. 安裝軟件
adb install 軟件包的名稱
這個命令將指定的apk文件安裝到設備上
adb install 路徑\app-weichi-release.apk
如果顯示success,那么久安裝apk包成功,顯示Failure,則安裝失敗。
檢查錯誤,排錯,再執行如下命令:abd install -r 包名.apk
4、獲取app的包名和activity名稱
adb logcat -v time | findstr START
腳本中,cmp= 后面的值就是 包名
查看當前運行的APP的包名和打開的Activity
adb shell "dumpsys window | grep mCurrentFocus"
5. 卸載軟件
獲取包名(單個設備)adb shell pm list packages -3 (3指的第三方的)
(多個設備)adb -s 設備名 shell pm list packages -3
adb uninstall <軟件名>
6、把本地的文件上傳到Android設備(以夜神模擬器例)
語法:adb push 本地文件路徑 Android設備路徑
例子:把本地磁盤中的E:\android\test.txt上傳到安卓服務器的/storage/sdcard0/目錄
adb push E:\android\test.txt /storage/sdcard0/
PS:點擊夜神模擬器左下角的 文件管理器,依次進入storage/sdcard0,就能查看到剛才上傳的文件
7、把Android設備的文件下載到本地的(以夜神模擬器例)
語法:adb pull Android設備上的文件路徑 本地路徑
例子:把本地磁盤中的E:\android\test.txt上傳到安卓服務器的/storage/sdcard0/目錄
adb pull /storage/sdcard0/test.txt E:\android
8.monkey命令
adb shell monkey -p app-weichi-release.apk -v 500
這個命令將會啟動你的軟件並且觸發500個事件.
9、使用monkey做回歸測試
monkey命令后面可以帶很多參數,常見的除了-v、-p還有-s,-s 后面加上monkey上一次運行時候的產生seed值,就可以讓monkey重復上一次運行時的操作路徑,從而實現回歸測試。
例如:
adb shell monkey -p app-weichi-release.apk -s 45544215878 -v 5
10、測試期間收集monkey日志
adb shell monkey -p your.package.name -v 500 > E:\share\monkey.log -- 把monkey日志導入到E盤的share目錄下。
11、收集logcat日志(logcat日志,記錄了用戶的在系統上的所有操作)
1)、先清空系統上原有的logcat日志:adb logcat -c
2)、獲取logcat日志:adb logcat -v time > E:\share\logcat.log -- 把logcat日志導入到E盤的share目錄下。
******************************************************************************
monkey在運行過程中,可能會出現異常,一般的原因有以下方面:
1)、應用程序崩潰(crash)或接收到任何失控異常;
導致crash的原因有:
a)、程序存在空指針;
b)、數組越界;
c)、CPU不足;
d)、內存不足。
2)、應用程序不響應(application not responding,簡稱:ANR); ---- 當系統5秒內無法響應用戶輸入事件,就報ANR的錯誤。
導致ANR的原因有:
a)、線程堵塞;
b)、CPU不足;
c)、內存不足。
monkey在運行過程中出現異常停止的問題分析思路,參考:
《APP壓力測試問題定位思路_monkey篇.docx》
******************************************************************************
思考題:當monkey異常終止,我如何協助開發定位問題?
參考答案:運行monkey做穩定性測試的同時,需要把應用的logcat日志取下來,monkey在運行中出現異常,一般是兩種原因導致的,一個是crash,程序崩潰,一個是ANR,程序沒有響應;當monkey異常終止,就進入logcat日志,搜索關鍵字“anr in”,如果存在該關鍵字,說明app出現了ANR異常,接下來把/data/anr/目錄下的trace.txt文件取下來,將出現問題的進程號對應的日志發給開發定位;如果沒搜索到“anr in”關鍵字,就搜索“nullpointer”,存在該關鍵字,說明app出現了CRASH異常,就把nullpointer異常關鍵字上下的日志發給開發定位。