monkey测试
一、Monkey是什么?
Monkey是发送伪随机用户事件的工具流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
二、Monkey在哪里?
每一台android手机里面都有Monkey工具,但是我们是看不到的,因为它不是一个可视化的工具。它不像wechat是可视化的,能打开,能执行用户操作,有图形界面,Monkey没有。
三、如何与Monkey进行通讯?
我们需要借助ADB(Android Debug Bridge),安卓调试桥。
四、环境搭建:
第一个前提条件就是安装java jdk;
第二个条件就是安装android sdk。jdk大家都应该知道怎么安装,同样道理android sdk(Software development kit)android专属软件开发工具包。
五、monkey的操作APP的步骤
1,先调用adb命令查看当前的包名
命令是:Windows环境的命令: adb shell dumpsys window | findstr mCurrentFocus
mac环境下的命令: adb shell dumpsys window | grep mCurrentFocus
2,使用安卓调试桥调用monkey对移动端的APP进行操作
adb shell monkey -p 包名 -s 100 -v -v -v 100
说明:
。adb shell monkey [options] 这个是monkey的基本语法
如果不指定options,那么monkey将会以无反馈模式启动,并把时间任意发送到安装在目标环境中的全部包。
。-p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。
指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP
。-s 用于指定伪随机数生成器的seed值,指定seed值是为了发生错误的时候,可以通过相同的seed值让这个错误复现,一般都要求每次启动monkey
的时候都要指定seed值
。-v 是用于指定反馈信息的级别(就是日志的详细程度)
总共有三个级别,-v是level0 只提供提示、测试完成和最终结果等少量信息,
-v -v 是level1 级别,提供较为详细的日志,包括每隔发送到activity的时间信息,
-v -v -v 是level2 级别,最高级别 ,提供最详细的信息,包括测试中选中/未选中的activity信息
。最后的数字,是你想monkey操作的次数,100就是要monkey操作100次
4、monkey的其他用法
--throttle <毫秒>
用于指定monkey 每个操作动作的等待时间,相当于Python的time.sleep(秒),只是单位不同,前者是用毫秒,后者用秒
代码如下:
adb shell -p 包名 -s 100 -v -v -v --throttle 1000 100
------后面有空的话会继续更新