运行monkeyrunner
您可以从文件运行monkeyrunner程序,或在交互式会话中输入monkeyrunner语句。您可以通过调用一举两得monkeyrunner是在发现的命令工具/你的SDK目录的子目录。如果你提供一个文件名 ??作为参数,则monkeyrunner命令运行该文件的内容作为一个Python程序; 否则,它会启动一个交互式会话。
所述的语法monkeyrunner命令是
monkeyrunner -plugin <plugin_jar> <program_filename> <program_options>
表1说明了标志和参数。
表1 monkeyrunner标志和参数。
monkeyrunner内建帮助
您可以生成monkeyrunner通过运行API参考:
monkeyrunner help.py <format> <outfile>
这些参数是:
<格式>可以是文本的纯文本输出或HTML的HTML输出。
<OUTFILE>是输出文件的路径限定名称。
扩展monkeyrunner与插件
你可以扩展你的Java编程语言编写类的monkeyrunner API构筑成一个或多个的.jar文件。您可以使用此功能将monkeyrunner API扩展与自己的类或扩展现有的类。您也可以使用此功能来初始化monkeyrunner环境。
为了提供一个插件monkeyrunner,调用monkeyrunner用命令 -plugin <plugin_jar>中所描述的参数 表1。
在你的插件代码,你可以导入和扩展的主要monkeyrunner类 MonkeyDevice,MonkeyImage和MonkeyRunner在com.android.monkeyrunner(见的monkeyrunner API)。
需要注意的是插件不给你访问到Android SDK。你不能导入软件包,如com.android.app。这是因为monkeyrunner与设备或仿真器下方的框架的API的水平相互作用。
该插件启动类
该的.jar文件的插件可以指定一个以前脚本处理开始实例化一个类。要指定这个类,添加键值 MonkeyRunnerStartupRunner到的.jar文件的清单。值应该是在启动时运行的类的名字。下面的代码片段展示了如何将内做到这一点蚂蚁构建脚本:
<jar jarfile = "myplugin" basedir = "${build.dir}" >
<manifest>
<attribute name = "MonkeyRunnerStartupRunner" value = "com.myapp.myplugin" />
</manifest>
</jar>
要访问monkeyrunner的运行环境,启动类可以实现 com.google.common.base.Predicate <PythonInterpreter> 。例如,这类设置在默认的命名空间的一些变量:
package com.android.example; import com.google.common.base.Predicate; import org.python.util.PythonInterpreter; public class Main implements Predicate<PythonInterpreter> { @Override public boolean apply(PythonInterpreter anInterpreter) { /* * Examples of creating and initializing variables in the monkeyrunner environment's * namespace. During execution, the monkeyrunner program can refer to the variables "newtest" * and "use_emulator" * */ anInterpreter.set("newtest", "enabled"); anInterpreter.set("use_emulator", 1); return true; } } |