針對移動端 android 的測試, adb 命令是很重要的乙個點,必須將常用的 adb 命令熟記於心, 將會為 android 測試帶來很大的方便,其中很多命令將會用於自動化測試的指令碼當中。
android debug bridge
adb 其實就是 android debug bridge, android 除錯橋的縮寫,adb 是乙個 c/s 架構的命令列工具,用於通過電腦端與模擬器或者真實裝置互動。在某些特殊的情況下進入不了系統,adb就派上用場啦!主要由 3 部分組成:
· 執行在 pc 端的 client : 可以通過它對 android 應用進行安裝、解除安裝及除錯
· 執行在 pc 端的 service : 其管理客戶端到 android 裝置上 adb 後台程序的連線
adb 服務啟動後,windows 可以在任務管理器中找到 adb.exe 這個程序
· 執行在 android 裝置上的 adb 後台程序
執行 adb shell ps | grep adbd ,可以找到該後台程序,windows 請使用 findstr 替代 grep
image
通過adb操作android裝置
連線上資料線,然後把手機開發者模式開啟,開啟usb除錯。
image
adb 命令
在開發或者測試的過程中,我們可以通過 adb 來管理多台裝置,其一般的格式為:
adb [-e | -d | -s 《裝置序列號》] 《子命令》
在配好環境變數的前提下,在命令視窗當中輸入 adb help 或者直接輸入 adb ,將會列出所有的選項說明及子命令。
這裡介紹一些裡面常用的命令:
1.adb devices , 獲取裝置列表及裝置狀態
image
2.adb get-state , 獲取裝置的狀態
image
裝置的狀態有 3 鐘,device , offline , unknown
device:裝置正常連線
offline:連線出現異常,裝置無響應
unknown:沒有連線裝置
3.安裝解除安裝應用程式
adb install 用於安裝
image
安裝成功,返回成功提示 「success」;
安裝失敗,會返回以下:
install_failed_already_exists
此時需要用 -r 引數來重新安裝。
install_failed_signature_error
應用的簽名不一致,可能是發布版和除錯版簽名不同所致。也有可能是沒解除安裝舊應用導致。
install_failed_insufficient_storage
儲存空間不足,需要檢查裝置儲存情況。
adb uninstall 用於解除安裝
adb uninstall 後面帶的是應用的包名,而不是應用名。
檢視系統所有應用的包名:
adb shell pm list packages –f
image
adb push 命令將pc機上的檔案推到 dlt-rk3288 機器上;
adb pull 命令將dlt-rk3288機器上的檔案拉到pc機上;
例如:adb push d:/new.txt /sdcard/
將d盤下new.txt檔案 推到內部儲存器
adb pull /sdcard/new.txt d:\
將dlt-rk3288 內部儲存器根目錄下的new.txt 拉到d盤
image
adb shell pm list package
package manager , 可以用獲取到一些安裝在 android 裝置上得應用資訊
-s:列出系統應用
-f:列出應用包名及對應的apk名及存放位置
image
過濾應用
image
5.adb shell
通過adb shell 命令,就可以進入裝置或者模擬器的shell環境了,在這個linux shell中,我們就可以執行各種linux命令了。
如果只想執行一條shell命令,就可以採用:adb shell [shell_command],在實際使用中,經常與grep或findstr一起使用,起到過濾作用,檢視自己需要的關鍵資訊。
6.常見命令:
如 ls, cd, rm, mkdir, touch, pwd, cp, mv, ifconfig, netstat, ping, ps, top等,進入adb shell即可執行,與linux相似
adb logcat
一.在cmd視窗檢視手機的log日誌
有時候我們在手機程式上的日誌要在其他地方除錯,然後要看裡面的log日誌。在cmd視窗中輸入如下命令:
//格式1:列印預設日誌資料
adb logcat
//格式2:需要列印日誌詳細時間的簡單資料
adb logcat -v time
//格式3:需要列印級別為error的資訊
adb logcat *:e
//格式4:需要列印時間和級別是error的資訊
adb logcat -v time *:e
//格式5:將日誌儲存到電腦固定的位置,比如d:\log.txt
adb logcat -v time >d:\log.txt
這時手機日誌更新什麼日誌,cmd視窗也會同步更新資料。
但是這樣沒有過濾條件,如果log日誌很多,很難找到我們想要的資訊,
當然也可以複製cmd中的資料到乙個文字中慢慢處理的,就是效率不高。
下面介紹adb logcat中的詳細引數命令以及如何才能高效的列印日誌,或者把日誌儲存到我們指定的位置。
二.adb logcat 詳解
image
日誌過濾:adb logcat [:priority]
tag表示標籤,priority輸出的級別,日誌預設級別是v,如果錯誤日誌我們選擇e就可以。
android 的日誌分為如下幾個優先順序(priority):
v —— verbose(最低,輸出得最多)
d —— debug
i —— info
w —— warning
e —— error
f —— fatal
s —— silent(最高,啥也不輸出)
按某級別過濾日誌則會將該級別及以上的日誌輸出。比如,命令:adb logcat *:w
其實*可以是某個tag,如果沒有指明,就表示所有。
tag可以由多個 [:priority] 組成。比如,命令:
adb logcat選項解析
–"-s"選項 : 設定輸出日誌*:s的標籤, 只顯示該標籤的日誌;
–"-f"選項 : 將日誌輸出到檔案, 預設輸出到標準輸出流中, -f 引數執行不成功;
–"-r"選項 : 按照每千字節輸出日誌, 需要 -f 引數, 不過這個命令沒有執行成功;
–"-n"選項 : 設定日誌輸出的最大數目, 需要 -r 引數, 這個執行 感覺 跟 adb logcat 效果一樣;
–"-v"選項 : 設定日誌的輸出格式, 注意只能設定一項;
–"-c"選項 : 清空所有的日誌快取資訊;
–"-d"選項 : 將快取的日誌輸出到螢幕上, 並且不會阻塞;
–"-t"選項 : 輸出最近的幾行日誌, 輸出完退出, 不阻塞;
–"-g"選項 : 檢視日誌緩衝區資訊;
–"-b"選項 : 以二進位制形式輸出日誌;
把日誌資訊儲存到電腦中
8.monkey測試
一、monkey測試簡介
monkey測試是android平台自動化測試的一種手段,通過monkey程式模擬使用者觸控螢幕、滑動trackball、按鍵等操作來對裝置上的程式進行壓
二、monkey命令的簡單幫助
要獲取monkey命令自帶的簡單幫助,在cmd中執行命令:
adb shell monkey –help
image
四、monkey命令引數介紹
image
說明:第乙個-s指定裝置,如果只連線了一台裝置,可不用該引數。
–throttle 《毫秒數》 指定使用者操作(事件)間的時延。
–ignore-crashes 指定當應用程式崩潰時,monkey依然傳送事件,直到事件計數完成。
–ignore-timeouts 當應用程式發生anr錯誤時,monkey依然會傳送事件,直到事件計數完成。
第2個-s,用於指定偽隨機數生成器的seed值,如果seed相同,則兩次monkey測試所產生的事件序列也相同的。
-v 用於指定反饋資訊級別,總共分為level 0、level 1、level 2三個級別,級別越高,輸出的日誌越詳細。
日誌級別 level0 示例 adb shellmonkey -p com.amaker.mp –v 100
說明 預設值,僅提供啟動提示、測試完成和最終結果等少量資訊
日誌級別 level 1 示例 adb shellmonkey -p com.amaker.mp –v -v 100
說明 提供較為詳細的日誌,包括每個傳送到activity的事件資訊
日誌級別 level 2 示例 adb shellmonkey -p com.amaker.mp –v -v –v 100
說明 最詳細的日誌,包括了測試中選中/未選中的activity資訊
adb常用命令
安裝軟體 adb install apk檔名稱.apk 重新安裝該軟體 adb install r apk檔名稱.apk 解除安裝apk軟體 adb uninstall apk包名.apk 檢視手機上的執行日誌,此項可以用來查錯 adb logcat 檢視手機是否連線,以及連線了幾台手機 adb d...
adb 常用命令
adb命令的主要用途 1.執行android裝置的shell 命令列 2.管理模擬器或android裝置的對映埠。3.安裝和解除安裝應用程式。關閉或開啟adb服務 關閉adb服務 adb kill server 開啟adb服務 adb start server 檢視當前連線的裝置 adb devic...
adb 常用命令
顯示當前執行的全部模擬器 對某一模擬器執行命令 abd s 模擬器編號 adb devices列出來id 命令 獲取模擬器中的檔案 adb pull 用pull命令可以把裝置 手機 上的檔案或者資料夾複製到本機電腦。例如執行程式在機子中存了乙個日誌檔案,可以用次命令將該檔案拉出來到本店電腦中,檢視詳...