SuperMonkey使用说明书

一、准备条件

 1.测试设备需要是Android 4.1以上版本的系统
 2.将手机设置为充电时屏幕不关闭
 方法:进入手机设置--开发者选项--充电时屏幕不会休眠
(备注:找不到开发者选项的设备点击内部版本号三次会弹出开发者选项)
 3.部分手机(如:魅族),自带手机手机管家,关闭:USB安全管理
 方法:手机管家—权限管理—USB安全管理—关闭
 4.部分手机(如小米),开启:USB调试(安全设置)
 方法:开发者选项—USB调试(安全设置)--开启
 5.手机解锁图案设置为“无”
 方法:手机系统设置—安全--屏幕锁定图案设置为“无”
 6.手机首次执行时如弹出安装uiautomator请按提示一步步点击后安装
 7.手机安装uiautomator
 进入python所在目录,例如:D:\Python27\Lib\site-packages\uiautomator\libs
 adb –s 设备号 install app-uiautomator.apk
 adb  -s 设备号 install app-uiautomator-test.apk

二、执行说明
1.测试准备:
执行时手机不能和电脑断开,否则不会生成执行日志等文件
2.测试报告:
报告:report/时间戳/设备号
文件:report/时间戳/设备号/monkey.txt(每次执行都生成)
文件:report/时间戳/设备号/20190115_205323_logcat(崩溃时截取的logcat)
文件:report/时间戳/设备号/xxx.csh(崩溃时截取)

SuperMonkey使用说明书_第1张图片
崩溃时文件.png

3.各按钮说明
帮助:跳转到”SuperMonkey使用说明书“页面
开始:当前选择设备开始执行monkey测试
停止:停止当前选择设备执行的monkey
开始所有:所有设备都开始执行monkey测试
停止所有:停止所有设备执行monkey
获取包名: 请进入到被测试app程序里面,再点击”获取包名“

多设备可以选择相同包,点击”开始全部”同时执行monkey测试
多设备可以选择不同测试包,分别点击”开始“执行相应的monkey测试

4.提示信息
开始:提示"monkey test has been started 设备号"
停止:提示"monkey test has been stoped 设备号"
开始所有:不同设备连续弹出提示"monkey test has been started 设备号"
停止所有:不同设备连续弹出提示"monkey test has been stoped 设备号";
(多设备提示语连续弹出,只保留最后一条)

测试正常结束:{'monkey progress': 'finished', 'testresult': {'CRASH': 0, 'ANR': 0}}

三、monkey各参数段说明

1.-help   查看monkey的帮助信息
例:adb shell monkey -help  
    
2.-p   指定被测应用的包名 
例:adb shell monkey -p com.UCMobile.x86 100
如果想要指定多个包名,每一个包名要跟一个-p
例:adb shell monkey -p packageName1 -p packageName2 100

3.  COUNT  设置执行的次数
例:adb shell monkey 100

4.-s 设置种子数(相当于设置一个路径,因为monkey是
随机事件,所以为了使回归路径一致就需要设置相同的seed值)
例:adb shell monkey 100 -s 5
如果想重现上面例子的路径下次执行的-s也必须为5

5.--throttle 设置每次随机事件的时间间隔(单位:毫秒)
例:adb shell monkey 100 --throttle 500

6.--throttle time --randomize-throttle 设置随机时间的时间间隔区间
例:adb shell monkey 100 --throttle 500 --randomize-throttle 
说明:执行一百次monkey随机事件,每次事件的间隔在0到500毫秒之间不固定

7.-v 设置日志级别最多(默认一个-v)
例:adb shell monkey -v 100
如需更详细的日志可以加多个-v,最多3个
例:adb shell monkey -v -v -v 100

8.--ignore-crashes   运行中忽略crash,遇到crash依然把后面的事件跑完
例:adb shell monkey --ignore-crashes -v 100

9.--ignore-timeouts  运行中忽略ANR,遇到ANR依然把后面的事件跑完
例:adb shell monkey --ignore-timeouts -v 100

10.设置事件百分比,所有的百分比加起来不能超过100%
  0:触摸事件百分比,即参数--pct-touch
  1:滑动事件百分比,即参数--pct-motion
  2:缩放事件百分比,即参数--pct-pinchzoom
  3:轨迹球事件百分比,即参数--pct-trackball
  4:屏幕旋转事件百分比,即参数--pct-rotation
  5:基本导航事件百分比,即参数--pct-nav
  6:主要导航事件百分比,即参数--pct-majornav
  7:系统事件百分比,即参数--pct-syskeys
  8:Activity启动事件百分比,即参数--pct-appswitch
  9:键盘翻转事件百分比,即参数--pct-flip
  10:其他事件百分比,即参数--pct-anyevent
  例:adb shell monkey --pct-touch 20 -v 100
11.--ignore-native-crashes   忽略monkey本身的异常,直到事件执行完毕
  例:adb shell monkey --ignore-native-crashes -v 100

四、monkey日志分析
1.崩溃问题
如出现崩溃问题在monkey.txt里搜索CRASH ;
SuperMonkey工具会实时分析和统计崩溃问题
例如:

// CRASH: xxxxxxxx
// Short Msg: java.lang.NullPointerException

2.ANR问题
如出现ANR问题,monkey.txt里搜索ANR in xxx
SuperMonkey工具会实时分析和统计无响应问题

3.Monkey测试完成
如monkey测试完成,monkey.txt里搜索Monkey finished

你可能感兴趣的:(SuperMonkey使用说明书)