对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 ools目录输入monkeyrunner
3、配置环境变量
现在在tools目录下输入monkeyrunner没问题,但是离开这个目录就会提示找不到这个命令,所以可以添加环境变量解决这个问题
环境变量-系统变量,添加一个新的变量名android,变量值D:Program FilesAndroidsdk ools;D:Program FilesAndroidsdkplatform-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:memonkeyTest1_001.png','png') # 安装新的APP device.installPackage('E:meMonTest.apk') print ('Install Success!') result = device.takeSnapshot() result.writeToFile('E:meTest1_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:memonkeyTest1_002.png','png')
其中在使用removePackage(包名)时, 可通过aapt dump badging E:memonkey获得包名地址
3、cmd中执行测试脚本
monkeyrunner test.py,即可执行脚本中的相关操作