自动化工具-ADB

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的执行封装成一个公有方法(话不多说,直接上代码)


自动化工具-ADB_第1张图片

2). 将操作封装成各自公有的动作方法


自动化工具-ADB_第2张图片

3). 构造测试用例类并执行

自动化工具-ADB_第3张图片

CaseDemo1中串联了一系列的操作步骤,在Main函数里执行之前需要输入操作需要对应的坐标点;在执行的时候别忘记起adb logcat进行日志的监控!

以上是一版最基础而简单的lAndroid手机录制回放工具;也可以稍作修改满足参数化输入击点坐标的功能,也可以丰富其断言法则;由于是基于坐标回放的,因此在脚本的适应范围上存在局限性;当然这里也可以技巧性的做一下坐标系的转换即可实现多Android机型不同分辨率的覆盖。

你可能感兴趣的:(自动化工具-ADB)