这里只是记录分享一下自己的学习心得,希望给一些新手有所启发,少一点摸索的时间,如有不准确之处,欢迎指出,不胜感激。
android的sdk中集成了三个比较简单的可用来进行自动化测试的工具:Monkey、MonkeyRunner和Robotium。这三个测试工具都是基于黑盒测试。Monkey相对而言比较简单,只是在cmd下写几行指令对要测试的程序进行简单的压力测试。Robotium测试工具总共只有一个Solo类,里面提供了许多可以用来操作测试设备的方法。MonkeyRunner相对而言,是三个工具中功能最强大的。
MonkeyRunner测试工具主要是编写一个Python程序去安装一个android程序或者测试包,通过模拟一些对程序点击操作的过程,来测试一个程序的稳定性及通过截屏可以方便的记录出现的问题。
Monkeyrunner工具是使用Jython(使用Java编程语言的一种Python实现)写出来的。Jython允许MonkeyrunnerAPI与Android框架轻松的进行交互。至于什么是Python,大家可以百度一下,是一门很强大的面向对象的编程语言,可以跨平台运行。当然,我们使用MonkeyRunner测试工具,不必要一定先去学习Python语言,我们恐怕在实际工作中也没有那么多时间,我们只需要了解一些常用的Python编程规范即可。(这些会在后面结合代码给出)。
现在主要讲一下怎么配置一下一个Monkeyrunner的工作环境。
如果只是简单使用MonkeyRunner测试工具的话,就没有必要像网上说的,下载一个Python版本安装程序进行安装,或者在eclipose里面集成一个python的插件,用来调试Python程序,在eclipse里面集成插件远没有直接使用记事本或者Notepad等编辑工具好用,因为Monkeyrunner总共就只有三个类(MonkeyRunner,MonkeyDevice,MonkeyImage),也没有那么多方法,让你有在eclipse里写程序时自动提示什么的优势,而有时插件和eclipse版本之间又会出现一些让你头疼的问题。所以,只要一个记事本足矣。
言归正传,既然是android测试,你肯定是配过android的开发环境了(不会配的可以百度)。android开发免不了要用到android sdk tools下的一些开发工具,你可以在系统环境变量里面配置一个ANDROID_HOME变量,把你的android SDK 安装路径加进去。比如我的路径是:G:\android03\android-sdk-windows。如果你已经配过了ANDROID_HOME变量,你现在只需要在你的系统变量的PATH变量中,把这句话加进去:%ANDROID_HOME%/tools;其实也就是相当于你把指向到android sdk tools的路径加到PATH变量中。
添加好之后,你可以直接在cmd下运行:monkeyrunner 命令,回车。如果出现monkeyrunner的版本信息,就证明你monkeyrunner环境已经配成功了。(如下图)
有时,你配好之后,会出现NOCLASSDefFound的错误.如下图:
这个是由于你的sdk中缺少了一个ChimpChat.jar文件,大家可以去http://code.google.com/p/aster/downloads/list下载一个最新的aster 的压缩包。这个是android系统测试需要用得到运行时环境包,解压这个压缩包,可以在以下路径中找到aster\dist\jar\chimpchat.jar ,然后,把chimpchat.jar复制到你的android sdk 中tools目录下的bin目录中,然后再运行monkeyrunner命令即可。
配置好后,就可以在cmd下通过monkeyrunner命令运行你写的monkeyrunner Python测试文件。
比如:monkeyrunner e:\test.py.