目前android SDK里自带的现成的测试工具有monkey monkeyrunner两个。大家别看这俩兄弟名字相像,但其实是完完全全不同的两个工具,应用在不同的测试领域。总的来说,monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。
本篇乃本人学习monkeyrunner时笔记,查看网络中的资料并经本人测试而出,由于本人刚接触,所以本篇内容不免肤浅,高手们请绕走~
在测试本人以下实例时,请自行搭建Android环境。
一、打开模拟器
运行monkeyrunner之前必须先运行相应的模拟器,不然monkeyrunner无法连接设备。
Elipse打开Android模拟器或在CMD中用Android命令打开模拟器。这里重点讲一下在CMD
Android命令打开模拟器
命令:emulator -avd test (注意:testpython在线模拟器为虚拟设备的名称——AVD的全称为:Android Virtual Device,就是Android运行的虚拟设备,如下图所示:)
上面命令中的test是模拟器名称。使用时需要改成实际名字。
 
 
如果正常,模拟器应该可以启动起来了。
如果执行的结果出现以下错误内容:
[plain] view plaincopy
1. PANIC: Could not open: C:\Documents and Settings\sAdministrator\.android/avd/test.ini 
如下图所示:
原因在于你的环境变量缺少配置。请在系统变量中添加“ANDROID_SDK_HOME”,设置其值为“C:\Documents and Settings\Administrator”(注意:这里的值不能为C:\Documents and Settings\Administrator\.android),如下图所示:
确定后,关闭CMD窗口,重新打开CMD。执行以上命令。将会启用模拟器。
模拟器启动成功后,我们仍在CMD环境中操作。现在进入monkeyrunnershell命令交互模式。
命令:monkeyrunner
进入shell命令交互模式后,首要一件事就是导入monkeyrunner所要使用的模块。直接在shell命令下输入:
from keyrunner import MonkeyRunner,MonkeyDevice 回车
OK,这步完成我们就可以利用monkeyrunner进行测试工作了。
这里有两种方案,一是直接在shell命令下输入以下命令;
命令说明
device=MonkeyRunner.waitForConnection() #连接手机设备
device.installPackage("../samples/android-10/ApiDemos/bin/Apidemos.apk") #安装apk包到手机设备。
启动其中的任意activity了,只要传入packageactivity名称即可。命令如下:
device.startActivity(component="ample.android.ample.android.apis.ApiDemos")
此时模拟器会自动打开ApiDemos这个应用程序的主页。
boot() #手机设备重启
uch(300,300,'DOWN_AND_UP')
MonkeyRunner.alert("hello")#emulator上会弹出消息提示
device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP)
pe('hello')#向编辑区域输入文本'hello'
二是将以下命令写到python文件里,例如test.py,然后我们再从命令行直接通过monkeyrunner运行它即可。比如,我们还是用上面的例子,语法如下:monkeyrunner test.
py 接下来monkeyrunner会自动调用test.py,并执行其中的语句,相当方便。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。