标签:
手机上有很多输入设备,电源键、音量加减键、触屏等等。这些设备的编号会因每个手机不同而不同,因此我们需要首先了解这个手机上都有哪些输入设备,然后通过脚本操作这些输入设备,实现一些想要的操作,进而通过循环实现自动化测试。
$ adb shell cat /proc/bus/input/devices
这条命令就是显示系统的输入设备列表,自己需要去了解这些设备的含义,进而去操作这些设备!我们这里需要操作的是touch,从下图中可以看到touch的事件是event1.
下面我们以屏幕触摸输入为例。将用到两个对应的命令:getevent和sendevent,顾名思义,一个是获取事件,另一个则是发送模拟事件。
首先我们用getevent了解设备运作,随便执行一条getevent来监听Handler event1(event1为屏幕事件):
$ adb shell getevent /dev/input/event1
上面的指令只会监听event1,不会监听其他的,比如电源键,音量加减键。当然我们也可以监听所有的事件:
$ adb shell getevent
滑动解锁便会输出这些event消息
系统会隔一定的时间对touch事件进行采样,滑动速度越慢采样的信息越多,我们没必要花费太多的时间在数值转换上,我们可以快速滑动,只要能实现解锁就行。接下来我们要把其中的十六进制数转换为十进制数写到shell script中执行,就可以实现自动解锁了。
如果当前是暗屏的情况下,还需要执行一下:
$ adb shell input keyevent 26模拟发送电源键事件,屏幕点亮之后才能执行此shell script。
标签:
原文地址:http://blog.csdn.net/xiaobaiing/article/details/51363835