一、了解Monkey与Monkey的环境配置
1、Monkey自动化测试了解
Monkey是Android SDK里面的一个命令行工具,SDK指软件开发工具包Monkey会发送伪随机的用户事件流,适合对app做压力测试。通过Monkey程序模拟用户触摸屏幕、滑动Trackball(轨迹)、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常
可以在PC和Android端执行, /system/framework/monkey.jar(Monkey程序)、/system/bin/monkey(shell脚本),在PC端通过CMD窗口命令“adb shell monkey {+命令参数}”来进行Monkey测试
adb shell :连接到KF(android)的终端shellMonkey的缺陷:虽然可以根据一个指定的命令脚本发送按键消息,但不支持条件判断,也不支持读取待测界面的信息来执行验证操作。
2、Monkey环境配置
(1)java JDK
JDK安装后需要配置系统环境,打开控制面板>系统>系统高级设置>环境变量里可以配置系统环境
首先新建一个环境JAVA_HOME,值为安装的jdk目录(博主的是C:\Program Files\Java\jdk1.8.0_161)
将这个路径添加到Path中,添加方式为
%JAVA_HOME\bin%
%JAVA_HOME\jre\bin%
(2)SDK的adb工具
同样需要配置环境,新建变量Android,值为SDK的安装目录
同样需要把Android变量添加到path路径中
(3)在手机端测试一般需要手机root;如果在PC端测试,则需要一个Android模拟器,可以用AVD创建,也可以直接用一些常用的模拟器如夜神模拟器等
为了防止测试版本对不上,可以直接将SDK的adb.exe覆盖模拟器的adb工具,夜神模拟器的adb工具在安装目录的bin下,名为 nox_adb.exe
这里也配置环境变量,变量名为NOX_adb,值为adb的文件路径(博主的是C:\Program Files (x86)\Nox\bin)
同样将这个变量添加到path中
3、检验环境配置
打开cmd,依次输入java、javac、adb version显示如下
打开夜神模拟器,在设置>关于平板电脑里点击五次版本号进入开发者模式
在cmd里输入adb devices
看到这样的显示,说明adb可以正常检测到模拟器设备的连接,那么Monkey测试的准备工作就做好了
二、用Monkey对模拟器中的apk包测试
1、测试
输入 adb shell
用 cd data/data 进入模拟器包目录
用ls 查看做模拟操作的包名称(如:com.bilibili.fatego)
输入su 进入根用户模式
此时就可以用monkey命令对此目录下的包做测试了
比如我们输入一个命令:monkey -p com.bilibili.fatego -v 200
这个命令的意思是对fatego的界面做200次无规则的点击操作,可以看到模拟器上也同步显示操作现象
// 命令解读: monkey -p(指定测试的包名称)[包名称] -v(输出信息的级别,-v仅仅提供启动、测试完成与最终结果信息)[测试次数]
2、测试数据分析
测试的各种事件所占的百分比>>跳转到指定包执行>>事件动作和坐标信息为:
最后显示测试完成的信息:
3、导出测试信息
先用 exit; 退出shell,退回到电脑C:\Users\[用户名]>
输入命令:
这样就可以把日志输出到指定的目录下了