使用monkey进行Android APP压力稳定测试入门

使用monkey进行Android APP压力稳定测试入门

  • 1. monkey介绍
  • 2. 什么时候使用monkey?
  • 3. monkey命令格式

1. monkey介绍

Monkey:Android SDK自带的一个命令行工具,使用adb来运行它,向系统发送伪随机的用户事件流,如按键、触屏、输入等;实现对正在开发的应用程序进行压力测试,伴随着日志输出。模拟用户触摸屏幕、滑动trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常;

2. 什么时候使用monkey?

一般在产品稳定,无特别多bug时,可以用来测试应用的稳定性、健壮性(是否会发生闪退、崩溃),手机出厂前的整机测试。

3. monkey命令格式

adb shell monkey -help
----monkey帮助手册
使用monkey进行Android APP压力稳定测试入门_第1张图片

  1. - v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分为三个级别
    - v ;(优先级最低)
    -v-v;
    -v-v-v;
    v的个数越多日志级别越高,日志内容越详细
    adbshell monkey -p com.yourpackage -v 500 //简单的输出测试的信息
    使用monkey进行Android APP压力稳定测试入门_第2张图片
    如:使用命令将日志输出到G盘下的Nox–>monkey–>monkey2.txt文件
    adb shell monkey -v 300 >G:\Nox\monkey\monkey2.txt
    在这里插入图片描述
    monkey2.txt内容(部分)
    使用monkey进行Android APP压力稳定测试入门_第3张图片

  2. -p 后面加对应的包名,如果是征集测试,则不需要加包名。此外也可以测试多个应用程序,在后面加上多个-p即可,如
    adb shell monkey -v -v -v -p (com.………包名1) -p(包名2) 500
    获得当前正在运行的应用程序的包名
    adb shell dumpsys activity | find "mFocusedActivity"
    获得包名后就可以对我们想要测试的应用程序进行指定测试,而前面的是整机测试,对模拟器上的应用程序随意测试
    再用命令对指定的应用程序进行测试
    adb shell monkey -v -v -v -p (com.………包名) 500
    使用monkey进行Android APP压力稳定测试入门_第4张图片

  3. -s 用于指定伪随机生成器的seed值,若seed相同,则两次monkey测试所产生的时间序列也相同,用于问题复现。(也就是说,重复执行刚才的随机操作)一般用在问题复现处
    在这里插入图片描述
    命令行包含-s时对app进行测试,会对APP进行音量加减的操作,如下图
    使用monkey进行Android APP压力稳定测试入门_第5张图片
    adb shell monkey -p com.yourpackage -s 数字 -v 500 //为随机数的事件系列定一个值,若出现问题,下次可以重复同样的系列进行排错

  4. - -throttle (毫秒1000=1s)后面接时间,单位为ms,表示事件之间的固定延迟(即执行每一个指令间隔的时间),如果不接该项,monkey将不会延迟
    adb shell monkey --throttle 1000
    (注意是两个横杠-)
    如 adb shell monkey -p com.yourpackage -v --throttle 3000 500 //每执行一次有效事件后休眠3000毫秒

  5. - -ignore-crashes 设置此项后,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此项,monkey遇到上述崩溃或异常将停止运行。
    adb shell monkey --ignore-crashes 500
    (注意是两个横杠-)

  6. - -ignore-timeouts 设置此项后,当应用程序发生任何超时错误(如ANR,即Application Not Responding)时,monkey将继续运行直到计数完成。若不设置此项,monkey
    adb shell monkey --ignore-timeouts
    (注意是两个横杠-)

可以多种命令组合,如下:
adb shell monkey -s 12 --throttle 450 -p com.android.cameraswitch --kill-process-after-error --ingore-timeouts --ignore-security-exception -v 10000 //在camera模块中产生一万次伪随机操作(包括触摸、按键、手势等)
更多关于monkey的命令可以看一下这篇博客或是自行在网上学习
https://www.cnblogs.com/chengchengla1990/p/5641086.html

你可能感兴趣的:(Android测试,monkey,android测试,monkey命令,shell,adb)