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机型不同分辨率的覆盖。