ADB命令在手機端的自動化控制和處理
1. Android adb 模擬滑動 按鍵 點擊事件
模擬事件全部是通過input命令來實現的,首先看一下input命令的使用:(掌握以下幾組命令并有效模塊化封裝算是入門了)
usage:? input ...
??????????? input text
??????????? input keyevent
??????????? input tap
??????????? input swipe
1).? keyevent指的是android對應的keycode,比如home鍵的keycode=3,back鍵的keycode=4.具體請查閱 http://blog.csdn.net/huiguixian/article/details/8550170,然后使用的話比較簡單,比如想模擬home按鍵:
adb shell input keyevent 3? (請查閱上述文章,根據具體keycode編輯即可)
2). 關于tap,模擬的是touch屏幕的事件,只需給出x、y坐標即可。此x、y坐標對應的是真實的屏幕分辨率,所以要根據具體手機具體看,比如想點擊屏幕(x, y) = (250, 250)位置:
adb shell input tap 250 250
3). 關于swipe同tap是一樣的,只是他是模擬滑動的事件,給出起點和終點的坐標即可。例如從屏幕(250, 250), 到屏幕(300, 300)即:
adb shell input swipe 250 250 300 300
2. Android adb 獲取日志
實時打印的主要有:logcat main,logcat radio,logcat events,tcpdump,還有高通平臺的還會有QXDM日志,狀態信息的有:adbshellcat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等。
1). adb logcat -b main -v time> Test.log?? By時間打印全程日志
2). adb logcat -b radio -v time> Radio.log? By時間打印射頻相關日志
3). adb logcat -b events -v time>Events.log? By時間打印觸屏事件日志
4). adb shell kernel cat /proc/kmsg? 抓取Linux kernel日志,查看kernel信息
Modem、CPU、Memory、Battery信息就不一一列舉了
3. Android 如何利用上述命令快速寫出基于坐標的錄制回放工具
1). 將adb的執行封裝成一個公有方法(話不多說,直接上代碼)
2). 將操作封裝成各自公有的動作方法
3). 構造測試用例類并執行
CaseDemo1中串聯了一系列的操作步驟,在Main函數里執行之前需要輸入操作需要對應的坐標點;在執行的時候別忘記起adb logcat進行日志的監控!
以上是一版最基礎而簡單的lAndroid手機錄制回放工具;也可以稍作修改滿足參數化輸入擊點坐標的功能,也可以豐富其斷言法則;由于是基于坐標回放的,因此在腳本的適應范圍上存在局限性;當然這里也可以技巧性的做一下坐標系的轉換即可實現多Android機型不同分辨率的覆蓋。