monkeyrunner工具提供一组API来编写程序,可以从android外部代码来控制android设备或者模拟器。利用monkeyrunner工具,你可以写一段python代码安装在android应用程序或者测试包中,并运行它,发送keystrokes返回到工具中,获取它的接口的截图,并且存储在工作空间里。monkeyrunner工具主要设计用于测试应用程序和设备的函数级或者框架级,而且可以运行在组合测试套件里。但是你可以免费使用它去实现其他的测试目的。
monkeyrunner工具不仅仅是关于UI/应用程序练习monkey测试,也可以作为monkey测试工具。monkey测试工具运行在设备或者模拟器的adb的shell目录里,并且通常随机执行用户或者系统的事件流。对比这两个工具,monkeyrunner可以从发送特殊命令的工作站和API 事件中控制设备和模拟器。
monkeyrunner工具在android测试中提供以下这些唯一的特性:
1、支持多设备控制:monkeyrunner API可以提供一个或者多个组件去接入到多个设备或者模拟器中。你可以物理连接所有的设备或者立即启动所有的模拟器(或者包括两个以上设备),连接两个设备彼此程序集的对接,然后运行一个或者多个测试。你也可以启动一个模拟器的配置程序集,运行一个或者多个测试,然后关闭模拟器。
2、功能测试:monkeyrunner可以运行一个开始--结束的安卓自动化应用程序。你可以从键盘事件或者触摸事件中提供输入值,并展示截屏的结果。
3、回归测试:monkeyrunner可以用于测试一个运行在应用程序和对比它的输出截屏,是否和已知的正确信息一致。
4、自动化扩展:由于monkeyrunner是一个API的工具箱,你可以开发一整个基于python模版的系统来控制android设备。除了使用monkeyrunner自身的控件外,你还可以使用标准的python系统和子程序模块,正如安卓调试桥梁,去调用安卓工具集。你也可以增加你自己的类集去运行monkeyrunnerAPI。更多详情描述,请查阅monkeyrunner扩展组件。
monkeyrunner工具使用jython,一个python的执行程序,使用的是jave编程语言。jython允许monkeyrunner API更容易和android的框架相互作用。使用jpthon你也可以使用python的语法去接入常量、类集,和API的方法。
原文来自:http://developer.android.com/tools/help/monkeyrunner_concepts.html#SampleProgram
PS:自己第一次尝试翻译的,如果有问题,请大家多多指教,并指出来,我一定继续补充和完善,谢谢!