Android性能测试工具MonkeyRunner使用指南

发表于:2020-9-04 10:44

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

 作者:miss.yang    来源:博客园

  1.MonkeyRunner介绍:
  Android的SDK中集成了三个可用来进行自动化测试的工具:Monkey、MonkeyRunner和Robotium。这三个测试工具都是基于黑盒测试
  MonkeyRunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件。
  Monkeyrunner工具是使用Jython(使用Java编程语言的一种Python实现)写出来的。Jython允许MonkeyrunnerAPI与Android框架轻松的进行交互。
  Python是一门强大的面向对象的编程语言,可以跨平台运行。
  2.MonkeyRunner环境搭建
  安装JDK,配置环境变量
  在Mac中已经为我们预装了JDK,因此JDK对我们来说直接使用即可,查看Mac中的JDK版本方法是在命令行中输入"java -version”并回车即可。
  vim .bash_profile
  export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
  export PATH=$JAVA_HOME/bin:$PATH
  下载Android SDK,并配置环境变量
  vim .bash_profile
  export PATH=${PATH}:/Users/zhangyuyin/Android/android-sdk-macosx/platform-tools  【monkey】
  export PATH=${PATH}:/Users/zhangyuyin/Android/android-sdk-macosx/tools  【monkeyrunner】
  export PATH=${PATH}:/Users/zhangyuyin/Android/android-sdk-macosx/build-tools/20.0.0 【aapt】
  Python
  Mac OX 上 自带 Python 2.7
  你不必安装和配置即可直接使用Python进行开发
  3.MonkeyRunner的详细介绍
  MonkeyRunner工具主要有三个类:MonkeyRunner、MonkeyDevice、MonkeyImage
  MonkeyRunnner类:
  这个类主要用于把MonkeyRunner连接至真机或者模拟器waitForConnection
  MonkeyImage类:
  这个类主要是测试过程中,用来保存测试截图,把图片保存成各种格式,并且可以比较两个MonkeyImage对象。
  主要常用的有两个方法:writeToFile (string path, string format) ,这个是保存截图的位置和命名,可以把图片保存到sdcard里面,也可以保存到电脑里面;sameAs (MonkeyImage other, float percent) 这个用来比较两个截图是否相同,结果为boolean值。
  MonkeyDevice类:
  这个类的方法就多了,主要提供了安装和卸载程序包、启动一个活动及操作键盘等事件的方法。startActivity (string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, flags) 启动一个应用,press (string name, dictionary type)点击控件 ,touch (integer x, integer y, integer type)点击控件(通过坐标定位),drag (tuple start, tuple end, float duration, integer steps) 拖拉控件等等方法。
  4.官网文档
  MonkeyRunner:https://developer.android.com/studio/test/monkeyrunner/MonkeyRunner.html
  MonkeyImage:https://developer.android.com/studio/test/monkeyrunner/MonkeyImage.html
  MonkeyDevice:https://developer.android.com/studio/test/monkeyrunner/MonkeyDevice.html
  5.monkeyrunner运行方式
  monkeyrunner -plugin <程序文件名> <程序选项>
  -plugin:(可选)内含monkeyrunner插件的.jar文件
  <程序文件名> :如果指定此参数,monkeyrunner将视文件内容为Python程序并予以执行。如果此参数未予指定,则开启一个交互式会话。例如:monkeyrunner  test.py
  <程序选项>:(可选)所指定的程序所需的参数或标志
  6.单步命令和操作( 查看包名和启动activity:aapt、logcat或其他工具)
  准备好手机或模拟器,运行monkeyrunner
  导入需要使用的模块from...import...
  连接设备waitForConnection
  安装待测应用apk到设备installPackage
  卸载待测应用removePackage
  启动待测应用startActivity
  暂停目前正在运行的程序指定的秒数sleep
  点击屏幕上的位置touch
  将字符串发送到键盘type
  发送指定类型指定键码的事件press
  模拟模拟滑动drag
  重启手机reboot
  手机截图takeSnapshot
  保存截图writeToFile
  唤醒设备屏幕wake
  7.执行python脚本
  8.录制和回放
  录制:monkeyrunner  monkey_recorder.py
  回放:monkeyrunner monkey_playback.py 文件名
  9.monkeyrunner和monkey的区别
  Monkey在命令行shell中运行,monkeyrunner在python环境下运行
  Monkey是性能中的稳定性测试工具,monkeyrunner属于功能性测试工具
  Monkey不支持扩展,monkeyrunner官方提供了python的API进行扩展

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号