Android自动化测试之monkey测试

2020-04-26  本文已影响0人  金融测试民工

安卓app测试中,最易出现各种闪退、意外终止等问题,且这类问题不易被发现,发现了也不易复现,Monkey测试则可以帮助我们发现一些此类问题。

Monkey测试顾名思义就像猴子乱蹦一样,模拟在app上随机的操作,从而发现问题并记录日志。Monkey程序是Android系统自带的一个命令行工具,使用java语言编写,可以在Android模拟器或安卓真机中运行,此次主要讲真机。

一、adb安装。adb(Android Debug Bridge)是android sdk里的一个工具,可以直接操作管理Android模拟器或者安卓真机,测试时用它来运行设备的shell

1.下载adb_1.0.32.zip包或者更高的版本,解压出来到D:\adb

2.配置环境变量path,将D:\adb写入path

3.cmd里输入adb version命令,显示adb的版本

二、连接测试真机

测试机通过usb线链接到电脑上,打开测试机的开发者选项-usb调试开关,在cmd里输入adbdevices,显示设备编号,则连接成功。连接真机需要安装设备的驱动程序,内网电脑需要申请权限,或者用自己的电脑。

三、开始测试

cmd里输入adb shell

查找所需测试app对应的包名,pm list package查出所有包,或pm list package 关键字,我这边测试的包名是com.pingan.patech.sancunhui

进入adb shell后直接执行monkey命令,不可以输出日志到本地电脑,如需保存日志到本地电脑,需exit退出adb shell,再在monkey命令前加adb shell并执行。

Monkey命令执行:

执行命令adb shell monkey -p com.pingan.patech.sancunhui -vvv2000>d:\testLog.txt,把日志写入本地电脑d盘的testLog.txt文件。

-p <允许的包名列表>

用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果不指定包,monkey将允许系统启动设备中的所有app

-v  日志详细程度

有三个等级,v、vv、vvv,不同等级,vvv级别最详细

日志等级后面的2000是执行次数

四、分析日志

打开testLog.txt,日志上部分都会显示Monkey执行的seed值、执行次数和测试的包名,如下图第11、12行。

日志里我们需要查看Monkey测试中是否出现了问题。

程序无响应(ANR问题):在日志中搜索”ANR “(有空格);

崩溃问题:在日志中搜索”CRASH”;

其他问题:在日志中搜索” Exception”;

出现问题后,快速定位到关键事件信息。然后查看Monkey里面出错前的一些事件动作,手动执行该动作,以此找出复现步骤并定位问题。

日志说明:

1、第15到27行是各类事件占的百分比,如触摸事件、滑动事件、缩放事件、屏幕旋转事件、基本导航事件、主要导航事件、系统时间、键盘翻转时间、Activity启动事件等,0-11分别代表哪类事件,各个版本的顺序可能不一致,可以查看Monkey源码中的MonkeySourceRandom.java文件确定。执行monkey命令时,可以在参数里设置执行时每类事件的百分比。

2、第28行:Switch表示跳转到某个Activity里,:Sending表示发送一些动作,如点击按下,点击放开,移动等

以上是monkey首次测试的流程,错误分析实例以后再发帖更新,谢谢!

上一篇 下一篇

猜你喜欢

热点阅读