monkey基本使用

一、介绍

1、功能:采用伪随机测试的方式,来完成app的稳定性

2、执行原理:通过monkey的shell脚步去执行安卓系统中自带的monkey。jar工具

3、通常用于盲测,压力测试和冒烟测试

(1)盲测:忽略功能和业务逻辑进行随意的测试

(2)压力测试:通过长时间的高频操作,测试app在测试机上运行的性能(仅仅靠这个还不够)

(3)冒烟测试:在进行功能测试之前,通过monkey测试app的基本可用性

4、局限性:无法遵循功能逻辑进行自动化测试

二、adb介绍和环境搭建

1、安装adb,用pc在手机上调用monkey的shell脚步,去执行monkey.jar

2、adb是C/S架构的命令行工具

3、环境搭建

adb版本查看:adb version

三、monkey命令介绍:

1、命令执行方式:adb shell monkey

2、常用属性:

(1)-p 选择包名(--pkg-whitelist-file白名单)

(2)-v指定日志级别,一般用-v -v -v指定3级的详细日志

(3)-s随机事件的种子数,种子数相同则生成相同的随机操作序列

(4)--throttle 操作的延时

(5)count 执行次数(该参数必须带上)

3、获取app包名的命令:adb shell pm list package -3(-3代表第三方应用)

4、指定某app进行测试:

(1)该app包名为:com.timeweekly.timefinance

(2)输入命令:adb shell monkey -p com.timeweekly.timefinance -v -v -v --throttle 300 500>E:MonkeyLog imeweekly.txt

四、日志分析

1、正常结束后,日志结尾一般能看到//Monkey finished;但是系统崩溃后,不一定能看到

2、app无响应时日志文档结尾出现:Monkey aborted due to error

3、一般在日志中查询关键字:exception、crash和error

(1)exception:定位错误提示信息,给开发看,让开发改bug

(2)crash:崩溃问题

(3)anr:应用程序位响应

4、当出错后,有可能是机型的兼容性问题,也有可能是app的问题

5、出错类型举例:比如多次点击某个按钮,出现空指针错误

五、高级参数的应用

1、--ignore[事件类型] 若某些事件导致monkey脚步终止,可以该参数忽略问题后继续执行

命令:adb shell monkey -p com.timeweekly.timefinance --throttle 200 --ignore-crashes --ignore-timeouts -v -v -v 10000 >E:MonkeyLog20190401.txt

2、--pct[操作类型][该操作所占的百分比]指定某类操作的百分比,让monkey只做或不做某一类操作。

--pct -touch 100 仅做触摸操作

3、用monkey的种子编号(seed)去复现操作(-s seed序列),记得要关闭app后再执行该命令

原文地址:https://www.cnblogs.com/huilianglog/p/13718291.html