monkey的性能压测


app稳定性测试

1、稳定性测试就是指软件长时间的持续运行,系统版本是否稳定,是否能够持续的为用户提供服务

2、指标:异常的次数

      异常的频率

3、app的稳定性测试

  1)首先monkey

  2)monkey是向系统发送随机的用户事件流(如按键输入、触摸屏输入和手势输入等),实现对正在开发的应用程序进行稳定性测试,即更好的模拟用户操作,确保app的稳定性

monkey的运行原理

1、monkey是Android自带的,是monkey.jar文件,路径:/system/framework/monkey.jar;

2、monkey.jar程序是由一个名为‘monkey’的shell脚本进行启动执行的,shell脚本是在Android文件系统的:/system/bin/monkey;

3、monkey启动方式:在cmd中输入adb shell monkey count

monkey的一些基本命令

adb shell monkey:查看monkey可输入哪些参数,参数默认为空,即可输入也可不输入

adb shell monkey --throttle :在事件直接插入固定延迟,通过这个参数可以控制monkey发送事件的频率,时间单位仅为ms

如:1、发送10个事件,要求持续执行时间1分钟:adb shell monkey --throttle 6000 10

adb shell monkey -p count:指定某个app包进行monkey操作,可加多个app包

如:adb shell monkey -p com.wuba 100

获取包名的命令:adb shell pm list package

adb shell monkey -v:日志设置,level 0,除启动提示、测试完成和最终结果之外。提供较少信息

adb shell monkey -v-v:日志设置,level 1,提供较为详细的测试信息,如逐个发送到activity的事件

adb shell monkey -v-v-v:日志设置,level 2,提供更加详细的设置信息,如测试中被选中的或未被选中的activity

日志导出到本地:adb shell monkey -p com.wuba -v-v-v 100 >d:\test.txt

monkey命令-seed值

当monkey运行时,出现异常、奔溃、无响应等问题时,可用seed值进行复现,因为相同的seed值再次运行monkey,将生成相同的事件序列

adb shell monkey -s :伪随机数生成器的seed值

monkey命令-调试选项

当monkey运行时,出现异常、奔溃、无响应等问题时,monkey会停止运行,所以为了保证执行的事件数执行完整,可以使用调试选项的设置

adb shell monkey -ignore-crashes:忽略在应用程序出现crash时导致的monkey停止

adb shell monkey -ignore-timeout:忽略在应用程序出现ANR时导致的monkey停止

adb shell monkey -ignore-security-exceptions:忽略在应用程序出现许可错误时导致的monkey停止

--pct-touch:触摸事件

--pct-motion:动作事件(手势)

--pct-appswitch:启动activity事件

--pct-rotation:屏幕旋转事件

--pct-trackball:轨迹事件

--pct-nav:基本导航事件

--pct-syskeys:主要导航事件