本章主要给大家讲解“APP稳定性测试工具monkey的工作原理和命令详解”这两大知识点,相信软件测试工程师都知道Monkey是一款app的自动化测试工具,monkey是猴子的意思,所以从原理上说,它的自动化测试就类似猴子一样在软件上乱敲按键,猴子什么都不懂,就爱捣乱。Monkey原理也是类似,通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、滑动Trackball、手势输入等操作),来对设备上的程序进行测试,检测程序长时间的稳定性,多久的时间会发生异常。
Monkey工具存在Android系统中,使用Java语言写成,jar包在Android文件系统中的存放路径是:/system/framework/monkey.jar;Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;
monkey需要通过adb来唤醒,即通过在cmd窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试;
一:Monkey 工作原理
在Monkey运行的时候,它会生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理:
(1)如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止;
(2)如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错;
(3)如果应用程序产生了应用程序不响应ANR(application not responding)的错误,Monkey将会停止并报错;
按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
二:Monkey命令详解
Monkey需要通过adb来运行,adb的环境请参考:《APP测试之adb》,
查看Monkey,monkey属于android系统自带的:
在system的bin目录下可以看到Monkey
在通过monkey进行测试前,需要知道待测试app的包名,可以通过使用“uiautomatorviewer.bat”工具来获取,也可以直接询问提供app的开发小哥哥,或者直接使用adb命令获取包名。
以下简单介绍两种通过adb命令获取包名的方法
方法一:首先要先运行手机中需要获取包名的app,然后分别输入命令即可。
//获取APP包名方法一
cmd状态下:adb shelldumpsys activity | findstr mFocusedActivity
或者进入shell状态下查看:
adb shell
dumpsys activity | findstr mFocusedActivity
如图所示:
方法二:在sdk的build-tools的版本目录下,运行命令aapt dump badging 安装的apk包名
如:
方法三:查看设备中所有的包,在cmd窗口中执行以下命令:
adb shell
cd data/data
ls
之后输入一些Monkey命令,就可以开始测试。
//获取Monkey命令自带的帮助,在cmd中执行命令:
adb shell monkey –help
今天关于“APP稳定性测试工具monkey的工作原理和命令详解”的内容就学习完了,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦。(笔芯)
川石学院零基础入门到精通课程免费学习即扫下方二维码,名师在线辅导!
附:川石信息全国校区最新开班时间,课程资料获取13691729932(微信同号)。