如果你需要实现自动测试,Android的monkeyrunner 工具可以帮助你实现自动测试,它提供了一组API可以用来控制Android设备或模拟器,使用monkeyrunner,你可以编写Python 程序来安装Android应用或是测试包,运行应用或测试,发送按键消息,并可以截屏,然后保存在计算机中。monkeyrunner 主要目的是用来在应用程序或框架层次来测试应用程序或运行单元测试包,但你也可以用作其它目的。

monkeyrunner 工具包不同于UI/Application Exerciser Monkey(也称为Money),money 通过adb shell 来运行,可以模拟“猴子”随机按键或是发送系统消息给指定的应用来实现Stress 测试。

monkeyrunner API 主要通过下面三个包:

  • MonkeyRunner: 主要提供了monkeyrunner 应用的辅助方法以及,用来链接设备或是模拟器的方法,并提供UI支持等。
  • MonkeyDevice: 代表一个设备或是模拟器,提供安装,卸载应用的方法,启动一个Activity,发送按键或是Touch 事件等。
  • MonkeyImage: 代表一个截屏图像,可以截取不同格式的图像,比较两个MonkeyImage图像,保存图像等。

下面为一个 Python 写的monkeyrunner 应用, 因为涉及到Python 语言,这里不详细说明了

# Imports the monkeyrunner modules used by this programfrom com.android.monkeyrunner import MonkeyRunner, MonkeyDevice # Connects to the current device, returning a MonkeyDevice objectdevice = 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 namepackage = 'com.example.android.myapplication' # sets a variable with the name of an Activity in the packageactivity = 'com.example.android.myapplication.MainActivity' # sets the name of the component to startrunComponent = package + '/' + activity # Runs the componentdevice.startActivity(component=runComponent) # Presses the Menu buttondevice.press('KEYCODE_MENU','DOWN_AND_UP') # Takes a screenshotresult = device.takeSnapshot() # Writes the screenshot to a fileresult.writeToFile('myproject/shot1.png','png')


 

详细的API说明请参考Android文档 ,如果你需要实现自动测试,编写测试代码,可以使用Python通过monkeyrunner API来实现。

 

更多相关文章

  1. 最新Android(安卓)Studio更换应用图标方法
  2. 关于 Android(安卓)下的自动化测试
  3. Android(安卓)使用【AIDL】调用外部服务
  4. 用C/C++开发android应用
  5. android应用开发入门
  6. android 安卓系统
  7. Android简明开发教程九:创建应用程序框架
  8. android各个版本的名称和更新
  9. Google应用在Android上的Push机制以及C2DM框架的底层实现

随机推荐

  1. android 获取手机电话号码和短信内容
  2. 第一讲:Android开发环境的搭建
  3. android 纯c/c++开发
  4. android 杀掉进程
  5. listview常用属性记录
  6. Android项目Android Studio目录结构
  7. 【Android 系统开发】 编译 Android文件
  8. registerActivityLifecycleCallbacks 的
  9. Android(java):database disk image is m
  10. Android AudioRecord介绍与Android 6.0后