Monkey测试

文章介绍了如何使用ADB工具进行手机App的环境配置和包名获取,然后通过Monkey测试模拟用户随机操作,设置相关参数如忽略崩溃和超时,并分析Monkey日志来查找程序的ANR、崩溃等问题,涉及各种Java异常和程序异常退出情况。
摘要由CSDN通过智能技术生成

1、首先使用adb,进行安装和配置环境变量

2、连接手机,获取包名

adb shell pm list package -f

将获取手机内所有apk对应的包名和路径

3、输入命令进行操作app

adb shell monkey + 行为参数 + ">" + {日志保存路径}

示例:

adb shell monkey -p com.xxx.myapp --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000 > d:\mylog.log

--throttle 100 :每个事件结束后的间隔时间
--ignore-crashes: 忽略崩溃
--ignore-timeouts: 忽略超时
--ignore-security-exceptions: 忽略安全异常
--ignore-native-crashes: Monkey 测试时忽略本地代码导致的崩溃,若发生崩溃,将继续发送事件给系统,直到事件计数完成(若不设置此项,在遇到本地代码导致的奔溃时,Monkey 将停止运行)

--monitor-native-crashes: 跟踪本地方法的崩溃问题,监控并报告Monkey运行时Android系统native code的崩溃事件
-v-v-v: 每个 -v 都将增加反馈信息的级别。共3个级别,因此 -v -v -v 可以提供最详细的设置信息。

-v:0级,除启动提示、测试完成和最终结果外提供较少信息
-v -v:1级,提供较详细测试信息,如逐个发送到 Activity 的事件
-v -v -v:2级,提供更详细安装信息,如测试中被选中或未被选中的 Activity

1000000: Monkey 测试事件次数

d:\mylog.log: Monkey 测试日志记录文件

四、结果分析整理

从 Monkey 日志中看问题:

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

2、崩溃问题:在日志中搜索“Exception”,Java常见异常:

(1)算术异常类:ArithmeticExecption

(2)空指针异常类:NullPointerException

(3)类型强制转换异常:ClassCastException

(4)数组负下标异常:NegativeArrayException

(5)数组下标越界异常:ArrayIndexOutOfBoundsException

(6)违背安全原则异常:SecturityException

(7)文件已结束异常:EOFException

(8)文件未找到异常:FileNotFoundException

(9)字符串转换为数字异常:NumberFormatException

(10)操作数据库异常:SQLException

(11)输入输出异常:IOException

(12)违法访问错误:IllegalAccessError

(13)内存不足错误:OutOfMemoryError

(14)堆栈溢出错误:StackOverflowError

3、ForceClosed和程序异常退出问题:在日志中搜索“致命”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值