学习monkey需要预先掌握的东西
adb 的常用命令:
adb devices 获取所有连接ADB的模拟器或者真机
adb install c:/xxx.apk 安装自己的apk到设备上
adb uninstall apk包名 从设备上卸载apk
adb -s emulator-5556 uninstall apk包名 指定某设备卸载apk
adb start-server 重启adb
adb kill-server 杀死adb
adb shell pm list packages 获取所有应用的包名
monkey的常用命令:
adb shell monkey –help (获取帮助命令)
adb shell monkey 1000 (随机执行1000个模拟事件)
adb shell monkey -p xxxx 1000 (指定某个应用随机执行1000个模拟事件,xxx填应用包名)
adb shell monkey (参数) 100 (带参数执行100个模拟事件)
-s:后面跟随数字,之后可重复执行该命令的模拟事件
-v 参数
adb shell monkey -v 1000
adb shell monkey -v -v 1000
adb shell monkey -v -v -v 1000 wxh:直接用直接用这一层
用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:
日志级别 Level 0
说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息
日志级别 Level 1
说明 提供较为详细的日志,包括每个发送到Activity的事件信息
日志级别 Level 2
说明 最详细的日志,包括了测试中选中/未选中的Activity信息
有关--ignore-crashes,--ignore-timeouts,--ignore-security-exception(忽略崩溃,超时,安全异常)都用上,避免程序崩溃在其他地方乱点,如果没有加,在出现anr时会停止运行,有加的话,会在anr结束后继续运行monkey:--ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes(忽略本地代码导致的崩溃)
更多的是throttle时间定在了100毫秒,多用了,touch(点击)和motion(滑动),窗口下滑(nav)的比率,事件在5000或1w,时间在五分钟内,接下去开发修改后,增加事件次数,验证稳定性
**************************************************************************************
touch:点击事件down,up;
motion:滑动事件down,up,move
nav:基本导航事件,向设备输入包括up,down,left,right
majornav:主要导航事件触发导航事件导致UI的动作事件
appswitch:执行satarActivity方法,,最大限度调用被测应用的全部activity的一种方法
trackball:有一个或几个随机的移动组成
syskeys:home,back,音量调节键等
anyevent:其他事件,设备上不常用的按键
****************************************************************************************************************************************
用例1:在剧场页面执行monkey命令,运行时长2分半钟
预置条件:手动进入乐园页面,打开电脑cmd命令窗口,执行:
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 13 5000
预期结果:运行没问题结尾提示// Monkey finished,如果没有问题再执行2遍,因为正常不会第一次运行就遇到问题
运行出错查找log文件是否出现:anr,crash,so(堆栈错误)
在运行过程中,如果提示崩溃,log文件不一定保存到电脑,因为需要去开发手机重新运行打包运行monkey,目前单看log很难找到什么问题
要保存log文件到电脑,执行:
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 13 5000 >D:\monkeylog.txt
如果应用已经崩溃,但是monkey还在手机系统乱点,手动关闭:
cmd窗口进入手机系统:
>adb shell
查看当前monkey进程是哪个
> ps|grep monkey
关闭进程
>kill 10003
用例2:在乐园页面执行monkey命令,运行时长2分半钟
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 13 5000
用例3:虚拟偶像,运行时长5分钟
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 13 10000
用例4:朋友列表页,运行时长5分钟
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 14 10000
用例5:商店,运行时长5分钟
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 14 10000
用例6:精选视频,运行时长2分半钟
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 14 5000
用例7:头像,运行时长2分半钟
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 14 5000
用例8:动图,运行时长2分半钟
adb shell monkey -p com.huanshi.awe.another -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 14 5000
*************************************活照片********************************************
用例1:第一次打开活照片后,执行,时长2分半钟
adb shell monkey -p com.huanshi.talkingphoto -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 15 5000
用例2:活照片主页面,时长2分半钟
adb shell monkey -p com.huanshi.talkingphoto -v -v -v --throttle 80 --pct-touch 60 --pct-motion 10 --pct-nav 5 --pct-majornav 0 --pct-appswitch 0 --pct-anyevent 0 --pct-trackball 0 --pct-syskeys 0 -s 15 5000
*************************************************************************************
输出包名>>adb shell pm list package
com.huanshi.awe.another
adb shell monkey -v -pcom.huanshi.awe.another --pct-anyevent 100 500
学习视频:http://v.youku.com/v_show/id_XODcyMjM1MDA4.html
运行monkey并将日志输出保存:
adb shell monkey -p com.wandoujia.phoenix2 -v 500 > d:loccat3.txt
日志中
1、注意第一个以switch以及异常信息等
2、程序无响应时,在日志中搜索:ANR
3、崩溃问题:在日志中搜索:Exception
monkey执行完成则日志尾部显示“finished”表示执行结束
执行中断,在log最后㐓查看当前已执行的执行次数
参考文档:http://blog.youkuaiyun.com/lebang08/article/details/70858532