Monkey压力测试总结

一、Monkey简介
Monkey运用于Android压力测试的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。
二、安装方法:
1)进入如下url,下载Android Studio
https://developer.android.google.cn/studio/index.html
下载后点击exe文件安装 Android Studio 和所有所需的 SDK 工具
2)找到默认安装的SDK目录(我的目录为:C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools)-
3)成功连接手机到电脑(可使用360手机助手连接)
4)开始--运行--cmd,进入后:
C:\Users\Administrator>cd C:\Users\Administrator\AppData\Local\Android\Sdk\platorm-tools
C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools>adb shell
HWDLI-Q:/ $ pm list packages
package:com.android.cts.priv.ctsshim
……

HWDLI-Q:/ $ exit
5)测试事例:
C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools>adb shell monkey -p com.yuedong.sport -v -v -s 10000 10000 --throttle 200>F:\_m_test.txtl
6)测试结果分析:

没有crash和exception出现的情况


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



三、命令参数
C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools>adb shell monkey --help
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
用于约束限制,用此参数指定一个或者多个包,指定包之后,monkey将只允许启动指定app,如果不指定包,monkey将启动系统中所有的app 。
              [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
              [--ignore-crashes] [--ignore-timeouts]  忽略崩溃
             --ignore-timeouts:忽略超时
     --ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题


定制事件--pct-touch:指定触摸事件的百分比,例:--pct-touch 5%    , 其他相关的:
--pct-motion (滑动事件)
--pct-trackball (轨迹球事件) 
--pct-nav (导航事件 up/down/left/right)
--pct-majornav (主要导航事件 back key 、 menu key) 
--pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)
--pct-appswitch (activity之间的切换)
--pct-anyevent (任意事件)      
             
              [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
              [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
--wait-dbg:知道连接了调试器才执行monkey测试。
              [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
              [--port port]
              [-s SEED] 
指定伪随机数生成器的seed值,如果seed相同,则两次monkey 测试产生的事件序列也相同。
              [-v [-v] [-v]...]
用于指定反馈的信息级别(日志的详细程度),分为三个级别,级别越高,日志越详细
              [--throttle MILLISEC] [--randomize-throttle]
制定每个事件结束后的间隔时间,降低系统压力。(如果不指定系统会尽快的发送事件序列),MILLISEC指毫秒
              [--profile-wait MILLISEC]
              [--device-sleep-time MILLISEC]
              [--randomize-script]
              [--script-log]
              [--bugreport]
              [--periodic-bugreport]
              [--permission-target-system]

你可能感兴趣的:(压力测试)