一、Monkey
monkey就是猴子, monkey测试,就像一只猴子,在电脑面前,乱敲键盘在测试,猴子什么都不懂,只知道乱敲通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常
monkey命令:向程序发送随机事件流,测试程序的稳定性和健壮性
monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;
monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中,的存放路径是/system/bin/monkey;
monkey 命令启动方式:
ü 通过PC机cmd窗口中执行: adb shell monkey{命令参数}来进行monkey测试
ü 在PC上adb shell 进入Android系统,通过执行,monkey {命令参数}来进行monkey 测试
l 语法格式1: adb shell monkey 基础参数
l 基础参数说明:
ü -p 在我们测试时,是针对具体的app进行测试的,所以在使用monkey测试时,我们需要提供具体的app包名给monkey,此时就需要用到参数-p,在-p后跟随app包名,在测试时,可以不指定包名,此时monkey会在测试设备上随机启动app进行操作,如果只需要测试一个app,使用一个-p即可,如果有多个app同时测试,可以直接使用-p包名1 -p包名2指定具体要测试的app
ü -v 用于指定反馈信息级别(信息级别就是日志的详细程度)总共分为3级,默认为-v(level 0)
-v:只提供启动提示、测试完成提示和最终结果等少量信息。
-v -v:较为详细的日志,包括每个发送到activity的时间信息。
-v -v -v:最详细的日志,包括测试中选中/未选中的activity信息。
ü -s 种子值(seed)因为monkey是发送的是伪随机的事件流,但是如果两次seed值相同,那两次monkey测试所产生的事件序列也相同(所以一般在测试时要记录seed值,以防出现无响应和crash,不容易验证) 注意:-s需要跟在包名后,次数前
ü --throttle 设置执行操作的延迟时间(毫秒)--是指两个事件之间的间隔,如果没有指定此参数,会尽可能快的生成和发送事件
(1)adb shell monkey 次数
执行monkey测试100次,手机上随机点的(针对rom测试)
(2)adb shell monkey -p com.example.login 100
用此参数指定一个或多个包,指定包之后,monkey将只允许系统启动指定的app,如果不指定包, monkey将允许系统启动设备中的所有app
(3)adb shell monkey -p com.example.login -v 100
// 缺省值,仅提供启动提示、测试完成和最终结果等少量信息
(4)adb shell monkey -p com.example.login -v -v 100
// 提供较为详细的日志,包括每个发送到Activity的事件信息
(5)adb shell monkey -p com.example.login -v -v -v 100
// 最详细的日志,包括了测试中选中/未选中的Activity信息
monkey测试1:adb shell monkey -p com.shjt.map –s 10 100
monkey测试2:adb shell monkey -p com.shjt.map –s 10 100
用亍指定伪随机数生成器的seed值,如果seed相同,则两次monkey测试所产生的事件序列也相同的
l 调试选项
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时(anr)
--ignore-native-crashes:忽略本地崩溃
--monitor-native-crashes:监控本地崩溃代码
--ignore-security-exceptions:忽略安全异常
--pct 参数:控制运行时事件类型及运行频率(参数跟事件类型和频率)
l 事件类型
touch:点击操作
motion:滑动操作
trackball:轨迹球→无规则滑动
syskeys:系统级按键操作:home、menu、back、音量键等
nav:方向导航键:上、下、左、右
majornav:主要导航事件:软件内部返回、菜单键等
appswitch:软件内部之间的活动页面切换
anyevent任何其他的时间,主要指代不常操作事件
adb shell monkey -p 包名 --pct-touch 50 --pct-motion 50 -s seed值 --throttle 毫秒 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --ignore-native-crashes -v -v -v 100 > 本地路径
标签:shell,monkey,--,app,adb,测试,手机 From: https://www.cnblogs.com/bj-software-testing/p/17076757.html