Monkey测试

**一、**Monkey测试概述:Monkey是安卓中的一个命令行工具,可以运行在模拟器中或实际设备中,或直接运行在adb shell中,它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入,手势输入等),实现对正在开发的应用程序进行压力测试。
二、Monkey测试开展前提:被测程序基本功能测试ok
三、Monkey测试步骤
1.手机真机关闭后台所有运行的程序,手机设置为常亮,确认联网状态,app登录状态,取消锁屏,准备好部分所需文件(测试软件相关)。
2.手机与电脑进行adb连接(步骤参考adb的使用),并在cmd窗口运行adb devices确认连接情况。
3.查询所需测试软件的包名
1).通过cmd窗口输入adb shell pm list packages回车
在这里插入图片描述

2)通过手机端打开应用程序,cmd输入adb shell dumpsys window查看当前运行包名

4.执行monkey命令并记录日志,cmd窗口输入adb shell monkey -p com.songqin.sqoa(包名) -v -s 200 --throttle 450 --ignore-crashes --ignore-timeouts 300 >D:monkeylog/log.txt回车,等待直到出现新的输入窗口表示运行完成。
在这里插入图片描述
此时D盘monkeylog文件夹下保存有运行日志
在这里插入图片描述
adb shell monkey -p com.songqin.sqoa -v -s 200 --throttle 450 --ignore-crashes --ignore-timeouts 300 >D:monkeylog/log.txt命令说明
1)-p后面接的是运行的包名,也就是第三步中查询到到所测软件,-p可出现多个,当出现多个时运行多个程序,且每个程序运行次数随机,总数固定。
2)-v指的是运行日志的详细程度,当没有-v的时候日志最粗略,当-v -v -v也就是出现三个时日志记录最详细
3)-s 后面加数字,表示给这个运行操作自定义的一个序列号,用于记录操作及复现,当-s后面序列号一致时手机运行操作一样。
4)–throttle后面接的是时间,单位是毫秒,表示每个操作直接的间隔时间,最大不超过3000即3秒。
5)–ignore-crashes:表示忽略崩溃现象,即崩溃后继续运行操作直到结束,但会记录崩溃日志。
6)–ignore-timeouts:表示忽略超时现象,即超时后仍继续运行直到操作结束,但会记超时日志。
7)300:最后的一个300表示该程序随机操作的次数,可自定义,当运行到达定义次数停止。
8)>D:monkey/log.txt:重定向,表示日志文件保存的路径
其他命令:通过cmd窗口输入adb shell monkey回车查询monkey命令
在这里插入图片描述
说明:
1)–monitor-native-crashes:记录本地应用的崩溃(指所测程序引起的本地应用崩溃bug)
2)–kill-process-after-error:出现错误后停止在错误状态
3)–ignore-native-crashes:忽略本地应用崩溃
4)–ignore-security:应用程序发生许可错误时(证书许可、网络许可等)仍然继续运行。
5)–pct-{+事件类别} {+事件类别百分比}:用于指定每种类别事件操作次数占总次数的百分比。各事件占比总和不超过100%
6)Count:操作总次数
其中[]中括号内的内容为非必填项,例adb shell monkey 500表示对手机随机程序进行500次随机操作。
5.本地日志记录,cmd窗口输入adb logcat -v time记录本地运行日志(直接在cmd窗口显示日志信息)
本地日志建议重定向保存,cmd输入 adb logcat -v time >D:monkeylog/logcat.txt
在这里插入图片描述

Tip1:logcat本地日志记录的是手机被操作动作,不会自动停止,需要通过手动输入ctrl+c的方式停止记录。
Tip2:Monkey执行命令可批处理执行:
1).新建txt文本,打开
2).把命令写在txt文件中
如:adb logcat -v time >D:\log\logcat.txt
如:adb shell monkey 200 > D:\log\monkye000.txt| adb logcat -v time >D:\log\logtca0000.txt
3).文件->另存为bat格式,保存到桌面,记住:编码格式ANSI
4).即可双击执行
6日志文件分析:日志文件先看monkey日志,在monkey日志中出现bug再依据出现bug的关键词的时间在logcat日志中查找相应的activities。
1)monkey日志出现monkey finished表示测试pass
在这里插入图片描述
2)monkey日志出现//CRASH :com.songqin.sqoa(//CRASH:{+包名})表示出现crash(崩溃或者闪退)bug。

Cmd窗口:
在这里插入图片描述
日志文件查找crash:
在这里插入图片描述
3)monkey日志出现ANR in com.songqin.sqoa(ANR in {+包名}) 错误:表示出现ANR程序无响应bug。

在这里插入图片描述

4)异常停止:monkey日志中无结束标志,需要记录并提交monkey测试异常bug。
在这里插入图片描述
在这里插入图片描述
5)异常停止:
显示信息为
** Monkey aborted due to error
** system sppears to have crashed at events …
表示monkey测试fail
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值