monkeyrunner环境搭建
对android世界小白白的人儿,弄个monkeyrunner环境吭哧哧的费了大半天的劲,没办法,因为实在是对这方面一窍不通,名词都是一个个百度才略懂一二,既然这么辛苦费劲的才能弄好,怎么也得记录下来,免得下次又不会。
monkeyrunner是android sdk自带的测试工具,搭建monkeyrunner环境其实就是需要安装一个android sdk,当然也得有java环境jdk和python环境,此处只记录下我今天安装sdk的血泪史
1、安装sdk
先吐槽下走的弯路,去网上搜索monkeyrunner环境搭建,给出得一堆文档里都提到了android官网,http://developer.android.com/sdk/index.html#download,好吧,因为我实在是不善于翻墙,用尽各种办法都无法成功下载,后在360软件管家中搜索android sdk,下载了一个 sdk tools for android studio,没文化真可怕,安装好后进入tools目录输入monkeyrunner,提示Please use SDK manager and check if Android SDK platform-tools are installed,网上搜索答案,说是没有添加环境变量,尝试添加环境变量才发现安装目录下根本木有platform-tools,怎么破,怎么破,论坛、q群,各种咨询,终于才明白,sdk包弄错了,虽然没明白为啥错了,但终究是走上正道了
去网上百度搜索下载google android sdk ,下载后解压缩,里面有三个文件夹,因为jdk和eclipse我都有,所以直接将sdk复制到我指定的目录下

2、打开cmd,进入sdk\tools目录输入monkeyrunner

3、配置环境变量
现在在tools目录下输入monkeyrunner没问题,但是离开这个目录就会提示找不到这个命令,所以可以添加环境变量解决这个问题
环境变量-系统变量,添加一个新的变量名android,变量值D:\Program Files\Android\sdk\tools;D:\Program Files\Android\sdk\platform-tools;

打开系统变量中的path变量,将上面两个路径追加到后面保存

4、打开cmd,在当前目录输入monkeyrunner

5、简单示例
Monkeyrunner API主要包括三个模块
1)、MonkeyRunner:这个类提供了用于连接monkeyrunner和设备或模拟器的方法,它还提 供了用于创建用户界面显示提供了方法。
2)、MonkeyDevice:代表一个设备或模拟器。这个类为安装和卸载包、开启Activity、发送按键和触摸事件、运行测试包等提供了方法。
3)、MonkeyImage:这个类提供了捕捉屏幕的方法。这个类为截图、将位图转换成各种格式 、对比两个MonkeyImage对象、将image保存到文件等提供了方法。
运行monkeyrunner 脚本有两种方式,一种是在在CMD命令窗口直接运行monkeyrunner,另一种使用Python编写测试代码文件,在CMD中执行monkeyrunner xx.py运行
具体示例步骤:
1、cmd中启动已创建好的模拟器
emulator -avd test
2、编写python脚本,test.py
# 引入本程序所用到的模块
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
# 连接手机设备
device = MonkeyRunner.waitForConnection()
# 截图
result = device.takeSnapshot()
# 将截图保存到文件
result.writeToFile('E:\me\monkey\Test1_001.png','png')
# 安装新的APP
device.installPackage('E:\me\MonTest.apk')
print ('Install Success!')
result = device.takeSnapshot()
result.writeToFile('E:\me\Test1_003.png','png') if device.removePackage('com.jh.APP304394.news'):
print ('Uninstall Success!')
else:
print 'Uninstall fail'
# 暂停10秒
MonkeyRunner.sleep(10)
result = device.takeSnapshot()
result.writeToFile('E:\me\monkey\Test1_002.png','png')
其中在使用removePackage(包名)时, 可通过aapt dump badging E:\me\monkey获得包名地址
3、cmd中执行测试脚本
monkeyrunner test.py,即可执行脚本中的相关操作
monkeyrunner环境搭建的更多相关文章
- 【MonkeyRunner环境搭建】
一.配置MonkeyRunner环境变量 1.首先下载一个AndroidSDK,在SDK的目录中的tools文件夹中,直接带有MonkeyRunner 2.打开MonkeyRunner的方式: |-- ...
- Android自动化学习笔记之MonkeyRunner:MonkeyRunner环境搭建
---------------------------------------------------------------------------------------------------- ...
- monkeyrunner之环境搭建及实例(三)
Monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器. 一.Monkeyrunner简介 1.MOnkeyrunner相对Mo ...
- Monkeyrunner 简介及其环境搭建
Monkeyrunner是通过坐标.控件ID和控件上的文字操作应用的界面元素,其测试用例是用python写的,这样就弥补了monkey只有简单命令无法执行复杂用例的缺陷.Monkeyrunner采用的 ...
- monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)
monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来解释执行. Jython是Python的Java实现,它将Python代码解释成Java虚拟机上的字节码并执行,这种 ...
- monkeyrunner之安卓开发环境搭建(一)
在学习monkeyrunner之前,让我们先搭建好eclipse安卓开发环境. 对于程序开发人员而言,eclipse并不陌生,它提供了一个非常广阔的平台来开发程序.同样也可以用它来开发android程 ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- 转载:monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)
转载自:lynnLi 的monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来 ...
- Monkeyrunner测试环境搭建
Monkey手机APP压力测试,是对手机发送伪随机命令,对手机进行按键,触摸等操作,MonkeyRunner是对其发送重复操作的命令,是Monkey的进阶版,可以设置重复的操作或者是重现步骤等.相比较 ...
随机推荐
- saiku中多cube排序问题
如题,一个schema中如果有多个cube(常有),那cube之间是如何排序显示的? 我们看一下OlapMetaExplorer.java文件的getConnection方法,其中有一行 Collec ...
- iOS获取手机当前的网络状态
获取iOS网络状态,目前有两个办法. 1.通过监听手机状态栏的信息. 2.通过使用官方提供的类Reachability. 一.通过手机监听手机状态栏的信息 好处: 1.可以通过苹果的审核上架AppSt ...
- 整理Linux查看系统日志的一些经常使用命令
整理Linux查看系统日志的一些经常使用命令 last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行. -d 指定记录文件.指定记录文件.将IP地址转换成主机名称. -f <记录文 ...
- selector是在文件夹drawable中进行定义的xml文件。
获取Drawable对象: Resources res = mContext.getResources(); Drawable myImage = res.getDrawable(R.drawable ...
- mysql基础示例
创建数据库.创建表等: //php中按天创建表 $sql = "create database if not exists ".$db_name; $date_time_array ...
- 从零开始Unity3D游戏开发【2 简单的水管工例子】
1.首先,创建一个新的Project. 2.hierarchy(层)窗体下的Create下添加一个plane(平面) 3.调整Main Camera的视角,让panel显示在Game窗体.这一步比较困 ...
- HTML不常用元素:optgroup
在网页表单中,<optgroup>元素用于在<select>元素中创建一组选项<option>.这个可以更好的区分每一个组选项之间的区别. 这个元素包含两个属性:d ...
- bool operator==(const Array&)const; 这最后一个const 是做什么用的
字符重载也是个函数,在函数末尾加CONST 这样的函数叫常成员函数.常成员函数可以理解为是一个“只读”函数,它既不能更改数据成员的值,也不能调用那些能引起数据成员值变化的成员函数,只能调用const成 ...
- php采集文章中的图片获取替换到本地
/** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $keyword 创建照片的文件名 * @param string $oriwe ...
- JDK,JRE,JVM区别与联系(转)
JDK : JavaDevelopment ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具 ...