Monkey的概念:
“测试猴子”是指,没有测试经验或完全不了解计算机的人,不需要像猴子那样了解与程序用户的交互知识,而给他程序后,就对他看到的界面进行操作那个操作没有目的,乱按。
这种测试方法在产品周期的早期阶段发现了很多好的错误,大大节约了用户的时间。
Monkey的介绍
这是Android系统附带的命令行工具,可以在模拟器上运行,也可以真正在设备上运行。
monkey将伪随机用户事件流发送到系统中,实现对正在开发的APP应用程序的压力测试。
monkey包含许多选择,大致有四个类别。
1 .基本配置选项,包括设置尝试的事件数。
2 .执行约束选项,如设置为仅测试各个软件包。
3 .事件的类型和频率。
4 .调试选项
monkey命令特性
不能指定使用monkey进行相同的测试。 我重复好几次。 因为monkey会生成伪随机事件流。 但是,可以通过添加命令选项将操作限制在一定范围内。
第一,首先要营造环境
1 .要先下载jdk的具体安装说明,请访问https://blog.csdn.net/write6/article/details/79136388
2 .有关重新下载SDK的具体安装说明,请参阅https://blog.csdn.net/u 011541946/article/details/77142045
二、打开手机开发者调试工具,用usb线链接你的手机;
三. monkey前准备命令
1.windows r输入cmd进入dos命令行;
如果adb devices下出现下图所示的组合,则成功; (
3 .获取包名我常用的几个) ) ) )。
)1)输入ADB shell pmlistpackages查看您手机的所有安装包; 键入adb shell pm list packages -3查看手机上所有第三方安装包,一眼就能大致知道哪个是你想要的安装包;
)2)用类似于uiaotumator的软件看,
3) DOS环境输入) ADB shell log cat|findstr ‘ displayed ‘,打开要测试的APP;
红外线1是包名,红外线2是appActivity 自动化测试时可用) ) )。
这样,您就可以尽快找到所需的安装包名称。
四.先用最简单的mokey找一下哪个是你想要的安装包名称:
1.//-p参数:显示指定测试的程序空间后面有安装软件包名称,然后逐个尝试刚才的第三方安装软件包) )。
//-v
参数:表示查看monkey执行过程的信息日志级别)(-v 越多越详细,最多三个)
/ /数字100:表示测试事件数为100
指定一个包 adb shell monkey -p com.tencent.news -v -v -v 100 (此时指定软件会被打开并开始乱点乱按)
指定多个包 adb shell monkey -p com.tencent.news -p com.pdfreader -p com.widgets -v 1000
不指定包 adb shell monkey -v 1000
结果如图:
Event percentages(事件百分比):
0:触摸事件百分比,参数–pct-touch
1:滑动事件百分比,参数–pct-motion
2:缩放事件百分比,参数–pct-pinchzoom
3:轨迹球事件百分比,参数–pct-trackball
4:屏幕旋转事件百分比,参数–pct-rotation
5:暂时不知道这个是什么
6:基本导航事件百分比,参数–pct-nav
7:主要导航事件百分比,参数–pct-majornav
8:系统事件百分比,参数–pct-syskeys
9:Activity启动事件百分比,参数–pct-appswitch
10:键盘翻转事件百分比,参数–pct-flip
11:其他事件百分比,参数–pct-anyevent
2.尽管monkey产生是伪随机事件流,但是我们希望我们的操作有一定的规律性,即按键、触屏等各类事件操作有所偏重。
eg:(1).对文本框操作,需要更多的按键操作。
(2).玩游戏,需要更多的点击和滑动操作。
3.–throttle 设定两个事件之间一个固定延迟,可以减缓monkey的执行速度。如果不指定,monkey将不会被延迟,事件将尽可能快地生成和发送消息。单位:毫秒
eg:adb shell monkey –throttle 3000 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。
4.–pct-touch (空格后加数字)设定触屏事件生成的百分比。触屏事件是一个有手指按下,抬起事件的手势。
eg: adb shell monkey –throttle 3000 –pct-touch 50 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定触屏的事件占比为50%。
5.–pct-motion 设定滑动事件生成的百分比。滑动事件是一个先在某一个位置手指按下,滑动一段距离后再抬起手指的手势。
eg: adb shell monkey –throttle 3000 –pct-motion 50 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定滑动的事件占比为50%。
6.–pct-trackball 设定轨迹球事件生成的百分比。轨迹球事件是包含一系列随机移动和单击事件的事件
eg:adb shell monkey –throttle 3000 –pct-trackball 50 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定轨迹球的事件占比为50%。
7.–pct-nav 设定基本导航事件生成的百分比。基本导航事件是模拟方向性在设备上输入向上、向下、向左、向右的事件。
eg:adb shell monkey –throttle 3000 –pct-nav 40 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定基本导航事件的占比为40%。
8.–pct-majornav 设定主要导航事件生成的百分比。主要导航事件通常会导致UI产生回馈信息,如单击Back键、Home键、Menu键等、
eg: adb shell monkey –throttle 3000 –pct-majornav 40 -p com.tencent.news 100
向腾讯新闻发送1000次随机事件,每次事件间隔为3秒。其中设定主要导航事件的占比为40%。
9.–hprof
指定了该参数,Monkey会在发送事件序列的前、后,生成性能分析报告。通常会在data/misc目录下生成一个5MB左右大小的文件
10.–ignore-crashes
通常情况下,monkey会在测试应用程序崩溃或者发生异常后停止运行,若指定了该参数,则monkey将会在产生异常后,继续向系统发送事件,直到指定事件全部运行完毕。
11.–ignore-timeouts
通常情况下,当应用程序发生任何超时错误(application not responding)时,monkey将停止运行。若指定了该参数,则monkey将会在产生错误信息后,继续向系统发送事件,直到指定事件全部运行完毕
12.–ignore-security-exceptions 通常情况下,指定应用程序发生许可错误时(如证书许可,网络许可等),monkey将停止运行。若指定了该参数,即使应用程序发生许可错误,monkey会继续向系统发送事件,直到指定事件全部运行完毕。
eg:adb shell monkey –throttle 3000 –pct-trackball 50 -p com.tencent.news –ignore-security-exceptions 100
到这里简单的monkey就完了;