Sabrina 2012-02-09
Android自动化测试工具完全模拟用户操作,模拟用户可能的行为来测试Android应用程序。Android支持PC通过底层sockets连接与模拟器/手机间通讯,并且提供了大量调试命令,通过调用这些命令可以模拟用户的大部分行为。
下面来解析Android自动化工具的七大功能是如何实现的。
1、启动模拟器
emulator -no-boot-anim -avd 1.5.1
很简单,一条语句就启动了名为1.5.1的模拟器实例。-no-boot-anim这个参数使得开机时不显示开机动画,加快了启动速度。
2、启动应用程序
adb -s emulator-5554 shell
am start -n com.google.android.browser/com.google.android.browser.BrowserActivity
两条语句组合使用,先进入Shell模式,再通过am命令调起具体的应用程序。
以包名/应用名的格式来声明对用的应用程序。
3、单击触摸屏
通过下列一组命令来实现:
//选定一个X=40,Y=210的点
adb shell sendevent /dev/input/event0 3 0 40
adb shell sendevent /dev/input/event0 3 1 210
//在这个点按下触摸屏
adb shell sendevent /dev/input/event0 1 330 1
adb shell sendevent /dev/input/event0 0 0 0
//在这个点松开触摸屏
adb shell sendevent /dev/input/event0 1 330 0
adb shell sendevent /dev/input/event0 0 0 0
4、长按触摸屏
与单击模拟盘原理一样,区别在于按下/松开触摸屏命令之间暂停2秒钟
5、键盘输入
adb shell input keyevent “value”
键盘码已在表1-2中提供
6、验证测试结果
Android界面也由元素构成。Android SDK tools下的工具hierarchyviewer可以展现模拟器/手机当前界面上的Element的层次分布和自身属性。
通过调用hierarchyviewer工具,获取手机当前界面所有元素,再验证对应的元素属性(mID、mTest)是否存在于当前界面,以此来验证界面是否跳转成功、之前修改是否保存成功。
7、退出
Android未提供退出模拟器的方法。所以直接将模拟器进程杀死来完成退出模拟器的动作,以释放PC中的资源。