您当前的位置: 首页 > 

网易测试开发猿

暂无认证

  • 2浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Monkey测试

网易测试开发猿 发布时间:2021-10-22 15:59:15 ,浏览量:2

Monkey测试

1、所有的事件都是随机产生的,不带任何人的主观性 2、测试的对象仅为应用程序包,有一定的局限性 3、Monky测试使用的事件数据流是随机的,不能进行自定义 4、可对MonkeyTest的对象,事件数量,类型,频率等进行设置

Monkey测试目的: 测试app 是否会是否会Crash(崩溃) Monkey操作命令格式: adb shell monkey {+命令参数}

参数: 1、参数: -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。 ①指定一个包: adb shell monkey -p com.ibox.calculators 1000 (com.ibox.calculators是包名,1000是事件数) ②指定多个包:adb shell monkey -p com.htc.Weather –p com.ibox.calculators com.htc.photo.widgets 1000 ③不指定包:adb shell monkey 100

要先获取包名:adb shell dumpsys window | findstr mCurrentFocus 在这里插入图片描述 2、参数: -v 用于指定反馈信息级别(信息级别就是日志的详细程度) 日志级别 :Level 0 如 adb shell monkey -p com.ibox.calculators –v 1000 说明:缺省值,仅提供启动提示、测试完成和最终结果等少量信息

日志级别:Level 1 如: adb shell monkey -p com.ibox.calculators –v -v 1000 说明:提供较为详细的日志,包括每个发送到Activity的事件信息

日志级别:Level 2 如:adb shell monkey -p com.ibox.calculators –v -v –v 100 说明:最详细的日志,包括了测试中选中/未选中的Activity信息 看到: 在这里插入图片描述 解释: 注入事件:1000 :发送旋转度=0,持续=假 :掉落:键=0指针=7轨迹球=0翻转=0旋转=0 ##:网络统计:运行时间=4706ms(移动0 ms,wifi 0 ms,未连接4706ms) //猴子完成了

3、参数: –throttle 用于指定用户操作(即事件)间的时延,单位是毫秒(重要) 如:adb shell monkey -p com.ibox.calculators --throttle 3000 1000

4、参数: -s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的 如: 测试1:adb shell monkey -p com.ibox.calculators –s 10 1000 测试2:adb shell monkey -p com.ibox.calculators –s 10 1000 两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值(即10),就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的

5、参数:–ignore-crashes– 用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成 如:adb shell monkey -p com.ibox.calculators --ignore-crashes 1000 测试过程中即使Weather程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止

6、参数:–ignore-timeouts 用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成 如:adb shell monkey -p com.ibox.calculators --ignore-timeouts 1000

7、参数:–ignore-security-exceptions 用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成 如:adb shell monkey -p com.ibox.calculators --ignore-security-exceptions 1000

8、参数:–pct-事件类别 11个事件百分比控制(有的是9种事件,没有–pct-pinchzoom,–pct-rotation事件)由安卓SDK决定 ①–pct-touch {+百分比} 触摸,触摸事件泛指发生在某一位置的一个down-up事件,点击 如:adb shell monkey -p com.ibox.calculators --pct-touch 50 1000

②–pct-motion {+百分比} 动作,动作事件泛指从某一位置接下(即down事件)后经过一系列伪随机事件后弹出(即up事件) 如:adb shell monkey -p com.ibox.calculators --pct-motion 50 1000

③–pct-pinchzoom {+百分比} 二指缩放,智能机上的放大缩小手势操作事件 如:adb shell monkey -p com.ibox.calculators --pct-pinchzoom 50 1000

④–pct-trackball {+百分比} 轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件 如:adb shell monkey -p com.ibox.calculators --pct-trackball 50 1000

⑤–pct-rotation {+百分比} 屏幕旋转,横屏竖屏事件 如:adb shell monkey -p com.ibox.calculators --pct-rotation 100 1000

⑥–pct-nav {+百分比} 基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件 如:adb shell monkey -p com.ibox.calculators --pct-nav 50 1000

⑦–pct-majornav {+百分比} 主要导航,主要导航事件通常指引发图形界面的一些动作,如键盘中间按键、返回按键、菜单按键等 如:adb shell monkey -p com.ibox.calculators --pct-majornav 50 1000

⑧–pct-syskeys {+百分比} 系统按键,系统按键事件通常指仅供系统使用的保留按键,如HOME键、BACK键、拨号键、挂断键、音量键等 如:adb shell monkey -p com.ibox.calculators --pct-syskeys 50 1000

⑨–pct-appswitch {+百分比} 应用启动,应用启动事件(activity launches)即打开应用,通过调用startActivity()方法最大限度地开启该package下的所有应用

⑩–pct-flip {+百分比} 翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回 如:adb shell monkey -p com.ibox.calculators --pct-flip 50 1000

⑪–pct-anyevent {+百分比} 其他类型,其他类型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等 如:adb shell monkey -p com.ibox.calculators --pct-anyevent 1000

Monkey命令实战 如: adb shell monkey -p com.ibox.calculators -s 3 --throttle 1000 --pct-anyevent 50 --pct-syskeys 50 --ignore-crashes --ignore-timeouts --ignore-security-exceptions 1000

注意:–pct指定的事件加起来不能超过100%

关注
打赏
1665054478
查看更多评论
立即登录/注册

微信扫码登录

0.0364s