入门monkeyrunner2-官方文档第一部分

Gamila ·
更新时间:2024-11-15
· 500 次阅读

  该monkeyrunner工具提供了编写控制Android设备或仿真器从Android的代码之外程序的API。随着monkeyrunner,您可以编写安装一个Android应用程序或测试包,运行它,发送击键它,需要它的用户界面截图,并将截图工作站上的Python程序。该monkeyrunner工具主要设计在功能/框架水平和运行单元测试套件来测试应用程序和设备,但你可以自由地将其用于其它用途。   所述monkeyrunner工具是不相关的 用户界面/应用程序训练器猴,也被称为猴工具。在猴子的工具在运行 ADB壳设备或仿真器上直接生成的用户和系统事件的伪随机流。相比较而言,monkeyrunner工具控制设备和仿真器从工作站通过从API发送特定命令和事件。   该monkeyrunner工具为Android的测试,这些独特的功能:   多设备控制:monkeyrunner API可以跨多个设备或仿真器应用一个或多个测试套件。您可以物理连接的所有设备或启动了所有的仿真器(或两者兼有)同时,连接到每一个轮流程序,然后运行一个或多个测试。您也可以启动一个模拟器配置编程,运行一个或多个测试,然后关闭模拟器。   功能测试:monkeyrunner可以运行Android应用程序的自动启动到完成测试。您提供的输入值与键盘或触摸事件,并查看结果的截图。   回归测试 - monkeyrunner可以运行一个应用程序,并比较其输出截图一组被称为是正确的截图测试应用程序的稳定性。   可扩展的自动化-由于monkeyrunner是一个API工具包,你可以开发基于Python模块和控制Android设备程序的整个系统。除了 ??使用monkeyrunner API本身,你可以使用标准的Python OS和 子 模块的调用Android的工具,比如 Android的调试桥。   您也可以添加自己的类的monkeyrunner API。此进行更详细的部分中所述 扩展monkeyrunner与插件。   该monkeyrunner工具使用的Jython,使用Java编程语言实现的Python。的Jython允许monkeyrunner API与Android框架轻松互动。使用Jython,您可以使用Python语法来访问常量,类和API的方法。   一个简单的monkeyrunner程序   这里是一个连接到设备,创造了一个简单的monkeyrunner程序 MonkeyDevice 对象。使用MonkeyDevice目的,程序将安装一个Android应用程序包,运行其的活动之一,并发送键事件到活性。然后程序需要的结果的截图,创建 MonkeyImage对象。从这个对象,程序写出来的.png包含截图文件。 # Imports the monkeyrunner modules used by this program from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice # Connects to the current device, returning a MonkeyDevice object device = MonkeyRunner.waitForConnection() # Installs the Android package. Notice that this method returns a boolean, so you can test # to see if the installation worked. device.installPackage('myproject/bin/MyApplication.apk') # sets a variable with the package's internal name package = 'com.example.android.myapplication' # sets a variable with the name of an Activity in the package activity = 'com.example.android.myapplication.MainActivity' # sets the name of the component to start runComponent = package + '/' + activity # Runs the component device.startActivity(component=runComponent) # Presses the Menu button device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP) # Takes a screenshot result = device.takeSnapshot() # Writes the screenshot to a file result.writeToFile('myproject/shot1.png','png')   该monkeyrunner API   所述monkeyrunner API被包含在包中的三个模块 com.android.monkeyrunner:   MonkeyRunner:一类为monkeyrunner程序的实用方法。这个类提供了用于连接monkeyrunner至设备或模拟器的方法。它也提供了用于创建用户界面的monkeyrunner程序和用于显示内置帮助的方法。   MonkeyDevice:表示一个设备或模拟器。这个类提供了安装和卸载程序包,启动一个活动以及发送键盘或触摸事件到应用程序的方法。您也可以使用这个类来运行测试包。   MonkeyImage:表示一个屏幕捕获图像。这个类提供了捕捉屏幕,将位图图像,以各种不同的格式,比较两个MonkeyImage对象,写一个图像文件的方法。   在一个Python程序,您访问的每个类的Python模块。该monkeyrunner工具不会自动导入这些模块。要导入模块,使用Python 从语句:   from com.android.monkeyrunner import <module>   其中,<模块>是要导入的类名。你可以在同一个导入多个模块的声明用逗号分隔的模块名称。



monkeyrunner

需要 登录 后方可回复, 如果你还没有账号请 注册新账号