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的进阶版,可以设置重复的操作或者是重现步骤等.相比较 ...
随机推荐
- 移动开发之fastclick 点击穿透
穿透(点穿)是在mobile各种浏览器上发生的常见的bug.可能是由click事件的延迟(300ms)或者事件冒泡导致 现象:在A页面中有个 btn1<或a标签>,在B页面中有个 btn2 ...
- android基础5——使用资源
Android会基于当前的硬件.设备和语言配置来为某个资源标识符选择最合适的值. 1.在代码中使用资源 使用静态类R来访问资源.R类是基于外部资源而生的类,并且是在项目编译的时候创建的.R的每一个子类 ...
- Android 开发佳站3
eclipse 某些java文件乱码 摘要: [一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/archive/2013/04/24/3040219.h ...
- 2014年同年CFA考试中哪些CFA资料没有变化?
从2014年起,美国CFA协会将官方教材.题库.模拟题等CFA资料捆绑在报名费用之中,而以往可以单独选购的纸质版教材也变成了额外购买.这让非常多參加12月的CFA考生产生了借阅6月考生CFA资料的想法 ...
- servlet生成随机验证码
package com.cgyue; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import jav ...
- HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解
scrollHeight: 获取对象的滚动高度. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最 ...
- C++ ofstream和ifstream
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O, ...
- 网页平面设计 CSS
1.在html中引入css的方法 1.行内式 行内式即在标记的style属性中设定CSS样式,这种方式本质上没有体现出CSS的优势,因此不推荐使用. 例如:<h1 style="属性名 ...
- JavaSE复习日记 : 接口
/* * 接口 * 引用数据类型: * 类,接口,数组; * * 接口是一种引用数据类型,可以看作是一个特殊的类,它存在的目的是为了解决没有多重继承引起的功能弱的问题而设计的,一个类只能有一个父类,但 ...
- SGU题目总结
SGU还是个不错的题库...但是貌似水题也挺多的..有些题想出解法但是不想写代码, 就写在这里吧...不排除是我想简单想错了, 假如哪位神犇哪天发现请告诉我.. 101.Domino(2015.12. ...