MonkeyRunner 也是一款安卓sdk自有的测试工具 可以用来做功能测试

阅读目录

MonkeyRunner环境搭建

1. 安装JDK的安装与配置

2. 安装Python编译器     https://www.python.org/download

3. 设置环境变量

MonkeyRunner 概述

monkeyrunner 也是一款安卓sdk自有的测试工具,位于\sdk\tools下面

比monkey强大一些, 它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性高,测试人员可以完全控制

monkeyrunner 工具提供了一组API, 通过这些API函数可以在Android代码之外 (当然也可以直接在源代码直接使用) 控制android设备和模拟器

通过monkeyrunner, 也可以写出一个Python脚本来安装,运行,测试,发送模拟操作流结果截图对比等等。

MonkeyRunner 录制,回放功能

monkeyrunner 运行在PC上, 逐行的去解释Python脚本代码, 将命令发送到Android设备上或者模拟器上执行, monkeyrunner除了支持python脚本来执行测试,还可以通过录制回放的方式来执行测试

MonkeyRunner 录制回放

通过monkeyrunner 脚本录制功能可以实现,录制和回放功能,但该功能目前提供操作很简单,只能运行比较简单的操作,而且要考虑不同机器的执行效率以及操作之间的时间间隔,

录制回放以实例recorder.mr来说明操作如下图所示:

下载  recorder.py

下载 playback.py

运行  monkeyrunner.bat recorder.py

手工编写monkeyrunner 测试脚本

虽然monkeyrunner脚本使用python语法编写,但实际上是通过Jpython来解释执行,Jpython是python的Java实现, 它将python 代码解释成Java 虚拟机上的字节码并执行,这种做法允许在Python中继承一个Java类型,可以调用任意的Java API

#导入我们需要用到的包和类并且起别名
import sys
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md
from com.android.monkeyrunner import MonkeyImage as mi#connect device 连接设备
#第一个参数为等待连接设备时间
#第二个参数为具体连接的设备
device = mr.waitForConnection()
if not device:print >> sys.stderr,"fail"sys.exit(1)
#定义要启动的Activity
componentName='com.example.simulate/.ShellActivity'
#启动特定的Activity
device.startActivity(component=componentName)
mr.sleep(3.0)
#do someting 进行我们的操作
#输入 helloworld
device.type('helloworld')
#输入回车
device.press('KEYCODE_ENTER')
#return keyboard
#device.press('KEYCODE_BACK')
#------
#takeSnapshot截图
mr.sleep(3.0)
result = device.takeSnapshot()#save to file 保存到文件
result.writeToFile('./shot1.png','png');

转载于:https://www.cnblogs.com/TankXiao/p/5460424.html

Android MonkeyRunner相关推荐

  1. win10搭建android monkeyrunner自动化测试环境

    本文记录一下monkeyrunner环境搭建遇到的各种坑,以免以后再次踩坑.首先要提一下巨坑,务必要安装java 8(本文记录于2023.3),安装其他版本java,运行monneyrunner会有很 ...

  2. android monkeyrunner 命令,monkeyrunner 基础命令行

    >>> from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage >>> ...

  3. 转 Android自动测试之monkeyrunner工具(二)

    monkeyrunner工具  前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyru ...

  4. Android开发者指南(5) —— monkeyrunner

    前言 本章内容为开发者指南(Dev Guide)/Developing/Tools/monkeyrunner,版本为Android2.3 r1,翻译转载并整理自译言:"biAji" ...

  5. Android自动化测试之monkeyrunner基本要素(七)

    2019独角兽企业重金招聘Python工程师标准>>> 1. #导入模块;      from com.android.monkeyrunner import MonkeyRunne ...

  6. Android自动化测试之MonkeyRunner

    2019独角兽企业重金招聘Python工程师标准>>> MonkeyRunner是Google Android SDK下的一个工具,用于自动化测试Android程序. Monkeyr ...

  7. Android自动化测试之MonkeyRunner录制和回放脚本

    Android自动化测试之MonkeyRunner录制和回放脚本(十一) 分类: 自动化测试 Android自动化 2013-02-22 10:57 7346人阅读 评论(2) 收藏 举报 andro ...

  8. Android自己主动化測试之Monkeyrunner用法及实例

    眼下android SDK里自带的现成的測试工具有monkey 和 monkeyrunner两个.大家别看这俩兄弟名字相像,但事实上是完全然全不同的两个工具,应用在不同的測试领域.总的来说,monke ...

  9. Android自己的自动化测试Monkeyrunner和用法示例

    眼下android SDK在配有现成的测试工具monkey 和 monkeyrunner两. 也许我们不看一样的兄弟名字.但事实是完全跑了两个完全不同的工具.在测试的不同区域的应用程序.总体,monk ...

最新文章

  1. 北大陈平原教授:写出优秀的学术论文,“小题大做”是关键
  2. 时间序列数据的预处理
  3. PTP4L命令手册(谷歌翻译)
  4. Python基础教程:列表字典的键值修改
  5. THE QUESTIONS :The Top 25 (what we don't know?)
  6. linux qt应用程序全屏,QT在ubuntu下实现界面全屏,侧边栏隐藏,上边栏隐藏【实例】...
  7. MyBatis入门(二)---一对一,一对多
  8. DFT 与 ATPG综 述
  9. c语言10个裁判,5个裁判可以对10个歌手进行打分,计算各个歌手的最终得分排列...
  10. Faker 快速构造测试数据
  11. java对象 引用 原理,java对象引用和对象值得行为
  12. 设计模式 指令模式_指令设计模式
  13. java DefaultMutableTreeNode 树形结构 目录 1. Tree的概念 1 1.1. treeNode接口,mutabletreenode接口 1 1.2. 10-4:以T
  14. 如何在论坛里提高自己的从业水平
  15. maven和sbt构建项目及相关国内源repositorie配置和不支持cdh包解决方案
  16. [置顶] 龙芯2f笔记本- openbsd5.4安装手记
  17. taptap服务器要维护多久,TapTap发布游戏事故保护功能 解决游戏炸服问题
  18. 为什么公司宁愿花 15k 重招一个新人,也不愿加薪 5k 留住老程序员?
  19. 计算机取小数点后的小数 公式,excel表格公式计算后取小数点后的位数 | excle小数个数...
  20. 管理安装软件包yum什么是yum

热门文章

  1. 枚举+贪心--经常用到的思路--过程不好弄是--枚举结果C. Elections
  2. java创建对象实例的四种方式
  3. bzoj 1636 bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队(RMQ)
  4. bzoj 1856: [Scoi2010]字符串(卡特兰数)
  5. 最大-最小 滤波器实现 及用于边缘检测
  6. linux系统下如何设置和修改文件和文件夹的读、写、执行权限
  7. javascript学习之模块拖拽功能的实现
  8. 安卓Dialog弹出对话框全解:包含了AlertDialog,DialogFragment
  9. Quartus报错Error (170040): Can‘t place all RAM cells in design Info (170034)的解决办法
  10. AD画图器件变灰如何恢复SHIFT+C清除过滤器