Android自动化测试shell脚本(飞车Asphalt5)
本文为本人原著,转载请注明出处:http://blog.csdn.net/lhzhang1985/article/details/6580595 谢谢!
由于需要对飞车Asphalt5进行自动化测试,飞车又不能自动重新再开始,因此需要写个脚本完成自动化测试,然后就让它跑个几天几夜。刚开始不太熟悉自动化测试脚本,就在网上大量google。找了一些对资料进行参考。
我们知道在android上有模拟点击触摸屏分模拟器和真机,两者差异还是挺大的,模拟器一般都比较理想化,而在真机上就显得比较复杂些。
参考一下文章:
1、http://www.eefocus.com/chongzi865458/blog/11-06/225120_23131.html 该文主要讲解android用户输入系统,比如触摸按键 轨迹球等的数据获取与输入
2、http://blog.csdn.net/yiyaaixuexi/article/details/6574001 该文主要描述通过sendEvent来模拟键盘或者鼠标点击事件。
3、http://blog.csdn.net/roger_ge/article/details/5552740 模拟器上模拟键盘鼠标事件
4、《Android系统级深入开发—移植与调试》第8章 用户输入系统
下面以飞车Asphalt5为例进行详细分析:
目的:对飞车实现自动化测试,不需要人工操作
原理:第一次启动飞车,开始竞赛,触摸按键ESC 或者MENU 键,再按屏幕中的重新开始,如此循环,重新开始事件自己设置。
一、获取设备对应的event
采用# cat /proc/bus/input/devices
C:\tools>adb shell
# cat /proc/bus/input/devices
cat /proc/bus/input/devices
I: Bus=0019 Vendor=0001 Product=0001 Version=0001
N: Name="s3c-keypad"
P: Phys=yf-keypad/input0
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=sysrq event0
B: EV=3
B: KEY=400000 0 0 0 0 0 0 0 0 1 ffffffff fffffffe
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="pixcir_ts"
P: Phys=
S: Sysfs=/devices/platform/s3c2440-i2c.1/i2c-1/1-005c/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=2650000 1000003
二、获取设备对应的event*传入值
采用getevent /dev/in