三、monkey测试
1.monkey应用场景
- Monkey测试时Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
- Monkey时命令行工具
- 弱点:Monkey虽然可以根据一个指定的命令脚本发送按键消息,但其不支持条件判断,也不支持读取待测界面的值来执行验证操作。
- Monkey用来做什么?可以用来做压力测试也可以用来做自动化测试。
- Monkey什么时候用?等你们产品稳定后,没有特别多的bug的时候,一般会用monkey去测试待测应用的稳定性、健壮性(是否发生闪退、崩溃);整机测试。
2.monkey命令格式
- 启动安卓模拟器/真机
- 点击运行-输入cmd—进入命令行界面
- 查看设备连接情况adb devices
- 在命令行界面输入monkey命令
——-如果monkey需要指定设备,基本语法如下: - adb -s [device] shell monkey [options]
如:adb shell monkey -p com.lemon.lemonban —Ignore-crashes —ignore-tiomeouts —throttle 400 -v -s 3500 100000 > D:\monkey.txt
获取包名的三种方式:
1.获取前台应用程序的包名:
adb shell dumpsys activity| find “mDocusedActivity”:查看前台应用activity名—Android 8.0以下命令
adb shell dumpsys activity| find “mResumedActivity”:查看前台应用activity名—Android 8.0以上命令
2.adb shell pm list packages:系统所有的应用包名
3.adb shell进入手机Linux命令行模式
cd /data/data进行查看,/data/data会保存很多应用数据,如应用包名
3.monkey常见参数:
-p:用于约束限制,用此参数指定一个活多个包(Package,即App名字)。指monkey将只允许系统启动指定的APP。如果不指定包,monkey将允许系统启动
命令:adb shell monkey -p com.lemon.lemonban 1000
说明:com.lemon.lemonban 为包名,1000是事件计数(即让monkey程序模拟1000次)
-s:用于指定伪随机数生成器的se