Monkey测试相关操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_37189082/article/details/100586044

1. Monkey进行压力测试的命令?

adb shell monkey -p <packagename> <count>

说明:packagename:被测试APP包名;count:执行的随机事件数

2.如何重现Crash、ANR过程?

跑Monkey目的就是想发现APP在这种随机操作过程中可能出现的Crash或者ANR现象,一旦出现这种Crash或者ANR现象后一定会抛出一些Crash信息或ANR信息。这种信息对开发来说是非常重要的,开发当拿到这些信息之后会进行修复,把APP问题修复之后可能会让测试人员复现一下执行场景。

在Android里面Monkey随机操作过程,其实是一个伪随机的过程,它是基于某一个数据值生成的一系列随机操作,这个数据的值称为种子 ( seed ),这个seed是给Monkey用的,Monkey依据于这个种子值生成一个固定序列,如果你在第一次运行的时候带上一个自定义的Seed值,下一次想重新复现这个执行场景时候就用相同 seed值就可以了,两次Monkey所执行随机操作事件是完全一样的。

  • 添加参数 -s ( seed )

adb shell monkey -s <seed值> -p <packagename> <count>

例如:adb shell monkey -s 6789 -p com.android.calculator2 100

3.如何提取Crash、ANR的信息?

      将monkey执行过程中的日志重定向到文件里面,之后再从文件里面去过滤,自己去提取日志相对麻烦。

# 最详细的日志情况就是加上三个 -v; >是重定向输出符
adb shell monkey -v -v -v -s 6789 -p  com.android.calculator2 100 > 日期.log

     建议使用测试版APP连接第三方统计平台,去收集所有Crash和ANR信息,通过平台自动归类会便于测试过程中对Crash和ANR信息的收集。

4.如何设置monkey运行8个小时?

  • 添加参数 -- throttle

注意:是两个小横杠,throttle后面会跟上事件之间执行时间间隔的毫秒数

# 每300毫秒触发点击事件
adb shell monkey -v -v -v -s 6789 --throttle 300 -p  
com.android.calculator2 100 > 日期.log

5.在Crash/ANR后,如何继续执行?

  • 添加忽略Crash参数   --ignore-crashes
  • 添加忽略ANR参数    --ignore-timeouts
adb shell monkey -v -v -v -s 6789 --throttle 300 --ignore-crashes 
--ignore-timeouts -p com.android.calculator2 100 > 日期.log

6.如何让monkey执行指定的事件?

触摸事件       --pct-touch

动作事件       --pct-motion

轨迹球事件   --pct-trackball

基本导航事件     --pct-nav

主要导航事件    --pct-majornav

系统导航事件    --pct-syskeys

应用启动事件    --pct-appswitch

其它类型事件    --pct-anyevent

注意:指定事件后需要跟着需要执行事件数

# 指定执行触摸事件--pct-touch 100次
adb shell monkey -v -v -v -s 6789 --throttle 300 --ignore-crashes 
--ignore-timeouts --pct-touch 100 -p com.android.calculator2 100 > 日期.log

猜你喜欢

转载自blog.csdn.net/qq_37189082/article/details/100586044