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

发表于:2015-11-04 11:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Mr.Dantes    来源:51Testing软件测试网采编

  该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>
  其中,<模块>是要导入的类名。你可以在同一个导入多个模块的声明用逗号分隔的模块名称。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号