android 自动化测试之MonkeyRunner学习(一)
这里只是记录分享一下自己的学习心得,希望给一些新手有所启发,少一点摸索的时间,如有不准确之处,欢迎指出,不胜感激。
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.
今天就先写到这里。不喜欢熬夜了,大家注意身体哈。
本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/958900

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Android6.0-运行时权限处理
大家都知道在Android6.0之前,权限在应用安装过程中只询问一次,以列表的形式展现给用户,如果点击取消(即不认可应用所申请的权限),则会取消应用的安装。而用户出于安装应用的需求,一般都会点击同意,而应用就有可能在后台进行一些非法操作。(同时,因为这个原因,应用可能会出现申请一大堆权限的情况,说不定以后有用呢,hhhhh) 而正是认识到这个问题,在Android6.0版本以后,推出了运行时权限功能。即用户不需要在安装应用的时候一次性授权,而是可以在应用的使用过程中对某一项权限进行授权。 当然并不是所有的权限都不需要手动动态申请,Android将权限分为了普通权限和高危权限。对于普通权限,系统会自动完成授权,我们只需要处理高危权限的授权即可。下面就是Android的危险权限表。 Permission Group Permissions CALENDAR READ_CALENDAR WRITE_CALENDAR CAMERA CAMERA CONTACTS READ_CONTACTS WRITE_CONTACTS GET_ACCOUNTS LOCATION ACCESS_FINE_LOC...
-
下一篇
关于android USB Host编程的一些总结
以前没有接触过android USB Host编程。来到这个公司后,一边做着测试项目,一边又得研究着这个组长临时给的任务。 他开始说的是,想实现android手机与PC端通过USB 编程方式进行连接,这样写一个android程序装在手机上,插上USB连上电脑,在电脑上就可以管理手机文件了。研究了两个多星期,查了一些资料,也试了不少方法,后来发现似乎走入了误区,就写一下自己的总结,希望给大家一些提示: 一、说一下USB HOST的用处: USB设备分为HOST(主设备)和SLAVE(从设备),只有当一台HOST与一台SLAVE连接时才能实现数据的传输。android支持实现了android外设协议的USB硬件。Android外设和主机模式,在android3.1或者更高的平台上直接支持。 但是,对USB主机和外设模式的支持,最终还是要取决于设备的硬件,而不仅仅是看平台的等级。 我上网搜了一下,早期的一些夏新的手机,以及htc的WM手机支持USB HOST功能,而现在的android手机中支持USB HOST的还很非常少, 查到的支持USB HOST功能的手机有三星的I9250,HTC...
相关文章
文章评论
共有0条评论来说两句吧...