首页 > 其他分享 >手机测试之-monkey

手机测试之-monkey

时间:2023-01-30 17:36:44浏览次数:42  
标签:shell monkey -- app adb 测试 手机

一、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

相关文章