ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android Monkey-入门与使用

2021-11-11 15:37:27  阅读:223  来源: 互联网

标签:shell Monkey dumpsys -- PERCENT pct adb Android 入门


1、Monkey测试原理

Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

 

2、Monkey环境准备

1、安装JDK,并配置环境变量

2、安装Android SDK,并配置环境变量

 

3、Monkey可选参数 

可以使用命令来查看有哪些参数

adb shell monkey -help

参数如下:

wangmeng@wangmengdeMacBook-Pro ~ % adb shell monkey -help
  bash arg: -help
args: [-help]
 arg: "-help"
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
              [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
              [--ignore-crashes] [--ignore-timeouts]
              [--ignore-security-exceptions]
              [--monitor-native-crashes] [--ignore-native-crashes]
              [--kill-process-after-error] [--hprof]
              [--match-description TEXT]
              [--pct-touch PERCENT] [--pct-motion PERCENT]
              [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
              [--pct-nav PERCENT] [--pct-majornav PERCENT]
              [--pct-appswitch PERCENT] [--pct-flip PERCENT]
              [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
              [--pct-permission PERCENT]
              [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
              [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
              [--wait-dbg] [--dbg-no-events]
              [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
              [--port port]
              [-s SEED] [-v [-v] ...]
              [--throttle MILLISEC] [--randomize-throttle]
              [--profile-wait MILLISEC]
              [--device-sleep-time MILLISEC]
              [--randomize-script]
              [--script-log]
              [--bugreport]
              [--periodic-bugreport]
              [--permission-target-system]
              COUNT

例如:

--throttle 操作延迟(毫秒)

用于指定用户操作(即事件)间的时延,单位是毫秒。

--ignore-crashes

用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

 

4、Monkey稳定性测试 

稳定性测试流程(793QBDR5229TZ是设备号):

1、执行100万次随机指令(com.xxx.yyy为测试包)

adb -s 793QBDR5229TZ shell monkey -p com.xxx.yyy --ignore-crashes --ignore-timeouts --ignore-native-crashes -v -v -v 1000000 2> C:\Users\00172242\Desktop\error.txt 1> C:\Users\00172242\Desktop\info.txt

2、收集执行log日志

adb -s 793QBDR5229TZ logcat>C:\Users\00172242\Desktop\logcat.txt

3、收集CPU、内存等数据

adb -s 793QBDR5229TZ shell top -m 5 -s cpu > C:\Users\00172242\Desktop\cpu.txt

属性:

CPU% 当前瞬时使用CPU占用率

RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)

 

5、Monkey日志分析

1、程序无响应的问题:在日志中搜索“ANR”

2、崩溃问题:在日志中搜索“Exception”

3、crash

 

6、杀掉Monkey进程

依次输入如下命令:

1、adb shell
2、ps | grep monkey
3、kill -9 进程号

 

7、查看内存使用

查看测试机内存参数(也可以用来查看指定进程包名的内存使用情况):

adb shell dumpsys meminfo [pkg]

例如:(793QBDR5229TZ是设备号,查询结果为Total RAM: 7,710,172K)

adb -s 793QBDR5229TZ shell dumpsys meminfo

 

例如:查看指定进程包名(com.xxx.yyy)的内存

adb -s 793QBDR5229TZ shell dumpsys meminfo com.xxx.yyy

dumpsys命令:

子命令 说明 命令格式
meminfo 内存 adb shell dumpsys meminfo
cpuinfo CPU adb shell dumpsys cpuinfo
gfxinfo 帧率 adb shell dumpsys gfxinfo
display 显示 adb shell dumpsys display
power 电源 adb shell dumpsys power
batterystats 电池状态 adb shell dumpsys batterystats
battery 电池 adb shell dumpsys battery
alarm 闹钟 adb shell dumpsys alarm
location 位置 adb shell dumpsys location

 

8、查看CPU使用率

查看top命令有哪些参数 

adb shell top --help

参数如下:

wangmeng@wangmengdeMacBook-Pro ~ % adb shell top --help
usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,]

Show process activity in real time.

-H Show threads
-k Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID)
-o Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)
-O Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default)
-s Sort by field number (1-X, default 9)
-b Batch mode (no tty)
-d Delay SECONDS between each cycle (default 3)
-m Maximum number of tasks to show
-n Exit after NUMBER iterations
-p Show these PIDs
-u Show these USERs
-q Quiet (no header lines)

Cursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force
update, R to reverse sort, Q to exit.

例如:(793QBDR5229TZ是设备号)

adb -s 793QBDR5229TZ shell top -m 5 -s cpu > C:\Users\00172242\Desktop\cpu.txt

 

可以结合使用grep进行指定包数据的筛选

例如:

adb -s 5aa7c950 shell top -d 10|grep com.tencent.mm

 

注意:

当使用命令:

adb -s 5aa7c950 shell top -s cpu

提示:top: not integer: cpu

 

解决办法:输入如下命令即可

adb -s 5aa7c950 shell top -s 9

 


 

标签:shell,Monkey,dumpsys,--,PERCENT,pct,adb,Android,入门
来源: https://www.cnblogs.com/alltests/p/15540159.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有