目录:
Monkey 主要用于Android的稳定性测试,自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash(崩溃)
执行monkey测试100次 针对rom测试
adb shell monkey 100
注意:
这里的100相当于点击事件,就是说我模拟用户随机点击100次
指定包名(也就是指定app)执行monkey测试100次 针对rom测试
adb shell monkey -p 包名 100
显示日志详细程度
-v
-v -v
-v -v -v
详细程度由低到高,3个v最详细
示例1:-v
在公司我们我可以将这个日志输出为 txt 文件 ,方便发给开发人员看
示例2:-v -v
示例3:-v -v -v
日志输入为txt文件
输出日志只需要在查看日志命令后加上 > 和 要存放的路径 即可
adb shell monkey 100 >路径
-s 随机数种子
类似于 复现bug 的场景:
比如说上一次我使用monkey -s 指定他的参数为10 然后测了100次出现了bug,那么这次我还是参数为10 进行测,就可能会复现上一次的bug
–throttle <毫秒>
作用:每次测试的间隔时间,也就是说我加上这个参数和毫秒,那么我在测试的时候就有了时间间隔
adb shell monkey -p com.chaozh.iReaderFree --throttle 300 100
表示执行100个伪随机用户事件流,事件间隔为300毫秒。
注:一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件。
–pct-motion
作用:调整motion事件百分比。(motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成)
表示执行10个伪随机用户事件流,并调整其中动作事件的百分比为67%。
Event percentages: 0:–pct-touch//touch events percentage触摸事件百分比(触摸事件是一个在屏幕单一位置的按下-抬起事件) 1:–pct-motion//motion events percentage手势事件百分比(手势事件是由一个在屏幕某处的按下事件、一系列的伪随机移动、一个抬起事件组成)即一个滑动操作,但是是直线的,不能拐弯 2:–pct-pinchzoom//pinch zoom events percentage二指缩放百分比,即智能机上的放大缩小手势操作 3:–pct-trackball//trackball 即单纯的Move(ACTION_MOVE) events percentage轨迹球事件百分比(轨迹球事件包括一个或多个随机移动,有时还伴有点击。轨迹球现在智能手机上已经没有了,就是类似手柄的方向键一样) 4:–pct-rotation//screen rotation events percentage屏幕旋转百分比,横屏竖屏 5:–pct-nav//nav 基本导航事件。即来自于方向输入设备的上下左右操作。 events percentage”基本”导航事件百分比(导航事件包括上下左右,如方向输入设备的输入)老手机的上下左右键,智能机上没有 6:–pct-majornav//major 即Navigation Bar的确认,菜单,返回键等 nav events percentage”主要”导航事件百分比(这些导航事件通常会引发UI的事件,例如5-way pad的中间键、回退键、菜单键) 7:–pct-syskeys//system(key) operations percentage”系统”按钮事件百分比(这些按钮一般专供系统使用,如Home, Back, Start Call, End Call,音量控制) 8:–pct-appswitch//app switch events percentage启动activity事件百分比。在随机的间隔里,Monkey会执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法 9:–pct-flip//keyboard flip percentage键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回 10:–pct-anyevent//anyevents 该事件可能包含其他上述事件。 percentage其他类型事件百分比。包括了其他所有的类型事件,如按键、其他不常用的设备上的按钮等等。 –ignore-crashes 作用:忽略异常 通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。 不忽略如下:
忽略异常如下:
–ignore-timeouts(ANR)
作用:忽略超时
adb shell monkey --ignore-timeouts –v 10
触摸事件
手势事件
二指缩放事件
轨迹事件
屏幕旋转事件
基本导航事件
主要导航事件
系统按键事件
启动Activity事件
键盘事件
其他类型事件