1.monkey的简单介绍
Monkey测试是Android app自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入等,看设备是否出异常。
当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机事件,所以可以用Monkey用随机重复的方法去测试app。
一般情况下单个app monkey 模拟测试10万次足矣。
2.以下是app monkey测试的详细步骤
先进入cmd界面,输入adb devices,查看是否正常连接;
输入adb logcat | findstr START 监控app,打开你要测试的app,cmd查看app的包名。cmp=右边的就是app的包名;
输入adb logcat -c 先清除下logcat日志信息;
输入adb logcat -v time >F:\logcat.log;
输入adb shell monkey -p +app包名 -v 10000 >F:\monkey.log。
3.通过adb命令做回归测试
当开发修改问题后,需要做回归测试验证是否修改ok,此时测试人员需要使用上一次跑的monkey测试中的seed值做回归测试。
adb shell monkey -p +包名 -s +seed值 -v 10000
比如
adb shell monkey -p com.shanjian.originaldesign -s 1536629919450 -v10000
4.命令解析
-v 较少的日志信息
-v -v 较为丰富的日志信息
-v -v -v 最高级别的日志信息
5.monkey日志分析
当monkey测试时出现问题,此时我们需要分析定位问题,我们需要分析monkey日志
Monkey测试出现的异常的原因:
一般是两种原因导致的,一个是crash 程序崩溃,导致crash原因如下
a)程序存在空指针
b)cpu不足
c)内存不足
另一种是ANR 程序无响应,导致anr无响应原因如下:
a)线程阻塞
b)cpu不足
c)内存不足
查找分析原因:
当monkey测试出现异常终止,请打开logcat日志搜索关键字‘anrin’,如果存在该关键字,说明app出现了ANR异常,我们需要把/data/anr目录下的trace.txt文件取下来。
取下来trace.txt文件后,将出现问题的进程号对应的日志发给软件工程师定位,如果在logcat日志里没有搜索到’anrin’关键字,就搜索’nullpointer’异常关键字的上下日志,发给开发定位
当出现ANR后,需要导出,步骤如下:
输入adb shell;
输入cd /data/anr/;
输入ls;
adb pull /data/anr d:\trace.txt;
在logcat将出现anr问题的进程号复制,然后在trace.txt文件里按ctrl+F 查找,粘贴进程号,查找对应的问题。
作者:shawn xie123
原文链接:https://blog.csdn.net/xiezhiming1234/article/details/82121232