主要参考了这篇文章,感谢作者的贡献

http://forum.xda-developers.com/showthread.php?t=2566234


1.Monkeyrunner

Monkeyrunner是一个自动化的测试工具,我们用它做产品的黑盒测试。它提供了PythonAPI使我们不用修改Android代码,而是用python程序来控制我们的设备模拟器。我们可以用python来安装应用,测试包,运行,发起按键事件,获取并保存用户界面的截图。

Monkeyrunner工具设计的主要目的,是在框架的层面上测试应用和设备并为运行单元测试套件。当然,你也可以用它来做其他的事。

Monkeyrunner官方网站

http://developer.android.com/tools/help/monkeyrunner_concepts.html

2.基本条件:

1.Windows7/8OS

2.Java6

3.Eclipse

4.Anroid设备最好要能运行2.3.4及以上版本(非强制性)

5.Python

6.Jython

7.一个待测试的应用

3.安装

下载安装Python:http://www.python.org/getit/

接下来通过eclipse的marketplace下载eclipse的PyDev插件

help->InstallNewSoft

地址是:http://pydev.org/updates


配置Jythoninterpreters:参考这篇博客(其中也包含了Pydev的安装过程),我就不重复造车了

http://blog.csdn.net/zhubaitian/article/details/39803205

配置Pythoninterpreters:

Window->Preferences->PyDev->Interpreters->-Pythoninterpreters

4.建工程

这样最基本的配置就完成了,接下来新建一个文件

New->PyDevProject->为工程命名并选择Jython

如下:

右键你的工程,new-->PyDev-->newmodule

选择empty

写入代码

关于monkeyrunner的语法,官网讲的很清楚:

http://developer.android.com/tools/help/monkeyrunner_concepts.html

例如我自己的代码如下


#Importsthemonkeyrunnermodulesusedbythisprogramfromcom.android.monkeyrunnerimportMonkeyRunner,MonkeyDevicefromsymbolimportif_stmtfromsysimportexit#Connectstothecurrentdevice,returningaMonkeyDeviceobjectdevice=MonkeyRunner.waitForConnection()ifnotdevice:print("nodevice")exit#InstallstheAndroidpackage.Noticethatthismethodreturnsaboolean,soyoucantest#toseeiftheinstallationworked.device.installPackage('F:/android-space/OrangeLife_2.0/bin/OrangeLife_2.0.apk')#setsavariablewiththepackage'sinternalnamepackage='com.curry.ams'#setsavariablewiththenameofanActivityinthepackageactivity='com.curry.ams.user.LoginActivity'#setsthenameofthecomponenttostartrunComponent=package+'/'+activity#Runsthecomponentdevice.startActivity(component=runComponent)#PressestheMenubuttondevice.touch(285,488,MonkeyDevice.DOWN_AND_UP)device.type('13313933088')device.touch(432,648,MonkeyDevice.DOWN_AND_UP)device.type('ysclyy2413567')device.touch(573,1133,MonkeyDevice.DOWN_AND_UP)#Takesascreenshotresult=device.takeSnapshot()#Writesthescreenshottoafileresult.writeToFile('F:/android-space/shot1.png','png')


5.运行

运行前要先进行配置:

Run-->ExtenalTools-->ExtenalToolsconfigration

Locations:这里填的是你androidsdk文件夹下,tool中的monkeyrunner.bat

WorkingDirectory:你的工作目录,你的.apk文件要在该工作目录中

Arguments:要执行的.py文件的路径

点击run就开始运行了