一、monkey是什么?说的就是你,上蹿下跳,不断的找Bug,不断的解Bug...
然而,有没有想过有一天你自己当一回如来佛主呢?那就用一下monkey吧,虽然控制起来有点不太顺手,但还是有用的。
废话少说,真正的monkey是什么?它是Android自动化测试工具之一,主要针对app进行压力测试,可以运行在真机或模拟器中,在运行过程中向系统发送大量伪随机用户事件流(键盘输入、手势什么的)来检测app是否存在异常,找出其中潜在的未知问题,使软件更加趋近于稳定、健壮。
二、monkey配置
1、下载安装jdk(你懂的,android app开发环境都有的,除非你是来玩的)
2、下载adt bundle,在命令行窗口中输入adb,什么鬼(-bash: abd: command not found),该配环境变量了
(0)、本人建议先找一下android开发环境下的sdk文件中是否已存在相应的工具,就不用下载了,直接配置环境变量就好
(1)、vim ~/.bash_profile,找到adt bundle中的platform_tools、tools路径
(2)、export PATH=${PATH}:/xxx/tools/:/xxx/platform-tools/
(3)、刷新一下:source ~/.bash_profile
(4)、检测一下:连上手机或模拟器,成功总是来得太容易
三、开始使劲揉捏你的手机,满屏乱跳哇
1、测试App
2、测试手机(别乱来,不小心转了500万怎么办)
3、看动态日志(可以查看动态日志,有没有异常出现)
4、太累啦,还是看日志文件吧(写入电脑文件直接查看,写到手机也是可以滴)
然后就在日志中尽情的搜索您能想到的错误("ANR"、"Exception"、"crash"、"error"、"fatal"...)...
5、详细设置信息(抄袭的,请原创大牛见谅)
monkey -p com.lenovo.ideafriend --ignore-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 30 -s 1 -v -v --throttle 200 100000 2>/sdcard/error.txt 1>/sdcard/info.txt
参数 | 描述 | |
-p com.lenovo.ideafriend | 只仅针对特定包名进行测试 | |
--ignore-crashes | 忽略应用程序崩溃(Force & Close错误),继续发送执行事件,直到事件数执行完成 | |
--ignore-timeouts | 忽略应用程序发生ANR(Application No Responding)错误时,直到事件数执行完成 | |
--ignore-native-crashes | 忽略本地应用程序发生奔溃,直到事件数执行完成 | |
--pct-touch 30 | 调整触摸事件为30%。即整个事件过程中触摸事件占30% | |
-s 1 | 伪随机数生成器seed值。Seed值为1。相同的seed值再次执行monkey,将产生相同的事件序列。 | |
-v -v | 日志级别为Leve1 1。将提供较为详细的日志,包括每个发送到Activity的事件信息 | |
--throttle 200 | 事件之间延时200毫秒。可以控制monkey的执行速度,如果不指定该选项,monkey事件间将不会延时。 | |
100000 | 执行事件数为10万次 | |
2>/sdcard/error.txt | Leve1 2日志保存到sdcard上的error.txt中 | |
1>/sdcard/info.txt | Leve1 1日志保存到sdcard上的info.txt中 |