App性能测试——monkey常见参数

-p用于指定一个或多个包(package,即App的名字)。指定后monkey将只允许系统启动指定的App,若不指定包,则允许系统启动设备中的所有App。

命令:
adb shell monkey -p com.xxx.xxxx 1000
说明:
com.xxx.xxxx 是包名。 1000是事件计数,即让monkey程序模拟1000次随机用户事件

获取当前包名:
adb shell dumpsys activity | find “mFocusedActivity”
adb shell dumpsys window w |findstr / |findstr name=

获取指定包的信息:
aapt dump badging f:\xxxxx.apk

-v用于指定反馈信息级别,共有3个级别,默认缺省是-v

说明:
-v仅提供启动提示,测试完成和最终结果等少量信息
-v -v提供较为详细的日志,包括每个发送到activity的事件信息
-v -v -v最详细的日志,包括了测试中选中/未选中的activity信息

命令:
adb shell monkey -p com.xxx.xxxx -v 1000

–throttle(毫秒)用于指定用户操作(即事件)间的延时,单位是毫秒。
一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件,所以此处一般设置为300毫秒。
命令 :
adb shell monkey -p com.xxx.xxxx --throttle 300 1000

–randomize-throttle
在事件之间插入随机延迟,随机延迟范围为0到throttle设置的时间,单位为毫秒
命令:
adb shell monkey -p com.xxx.xxxx --throttle 1000 --randomize-throttle 100
说明:
执行一百次monkey随机事件,每次事件的间隔在0到1000毫秒之间不固定

–pkg-whitelist-file 白名单,后面接txt文件
(1)第一步把你设置的白名单的包名写到一个txt文档里面,记得路径和文档名字都是英文!例如:D:\whitelist.txt
(2)把这个文件拉到我们的安卓机中去,放到/data/local/tmp下面
使用命令:adb push D:\whitelist.txt /data//local/tmp 注意这是两个反斜杠
命令:adb shell monkey --pkg-whitelist-file /data/local/tmp

–pkg-blacklist-file 黑名单,后面接txt文件
命令:adb shell monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt 100

使用>D:\file1.txt 可以重定向保存monkey测试该程序的日志

调整事件百分比的参数
App性能测试——monkey常见参数_第1张图片

Ctrl+C可以在执行测试时退出命令行但不能结束测试

用于强制停止测试的命令:
(1)adb shell进入手机命令行
(2) ps列出手机进程
(3)kill + 进程号,即可强制停止测试
Monkey测试出现的异常的原因:
一般是两种原因导致的,一个是crash 程序崩溃,导致crash原因如下
a)、程序存在空指针
b)、cpu不足
c)、内存不足

另一种是ANR 程序无响应,导致anr无响应原因如下:
a)、线程阻塞
b)、cpu不足
c)、内存不足

查找分析原因:

  1. 当monkey测试出现异常终止,请打开logcat日志搜索关键字‘anrin’,如果存在该关键字,说明app出现了ANR异常,我们需要把/data/anr目录下的trace.txt文件取下来。
  2. 取下来trace.txt文件后,将出现问题的进程号对应的日志发给软件工程师定位,如果在logcat日志里没有搜索到’anrin’关键字,就搜索’nullpointer’异常关键字的上下日志,发给开发定位
  3. 当出现ANR后,需要导出,步骤如下:
  4. 输入adb shell
  5. 输入cd /data/anr/
  6. 输入ls
  7. adb pull /data/anr d:\trace.txt
  8. 在logcat将出现anr问题的进程号复制,然后在trace.txt文件里按ctrl+F 查找,粘贴进程号,查找对应的问题

参考资料:https://blog.csdn.net/xiezhiming1234/article/details/82121232

你可能感兴趣的