• monkey测试


    1             概述

    Monkey测试是Android自动化测试的一种手段。Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。

    当Monkey程序在模拟器或真实设备运行的时候,程序会产生一定数量或一定时间内的随机模拟用户操作的事件, 如点击,按键,手势等, 以及一些系统级别的事件。通常也称随机测试或者稳定性测试

    2             测试步骤

    2.1   测试前提条件

    • 1.将手机恢复出厂设置
    • 2.恢复出厂设置后,进入设置-->关于手机-->高级设置-->勾选‘保持唤醒状态’
    • 3.在设置->安全中设置解锁图案以及PIN码
    • 4.连接 adb tool
    • 5.手机开启后台log(*#*#3646633#*#*),开启main log,, mobile log和net log
    •  1.使用USB线连接手机和电脑
    • 2.在电脑中输入Monkey命令:adb shell monkey  -p <your.package.name> --throttle 380 -v -s 3500 300000 > C:monkey_log.txt

    2.2   测试步骤

    • 3.在Monkey结束以后查看它停留的界面并且做一些简单的测试,如拨打电话,发送信息等

    2.3   测试结果

    • 在运行Monkey命令时,遇到Crash 或者ANR,就会自动终止,Monkey的测试结果可以通过monkey_log.txt查看,如果测试结果正常,在log最后一行会有monkey finished显示并且手机运行正常
    • 通过monkey_log.txt查看测试结果,在log最后一行显示crashed at event ####of 300000 using seed 3500,如下图:

    如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错,如果应用程序崩溃或接收到任何失控异常,Monkey也会停止并报错,一般我们执行Monkey时,在3万次以内发生Crash的话就认为Monkey是有问题的,要提交PR。

    2.4   提交Monkey的PR

     在执行Monkey命令时发生Crash或者ANR时需要提交PR,具体提交Monkey PR的规则如下:

    • 标题:在PR标题中加上[Monkey] 内容:主要要包含自己执行的命令以及在多少次发生crash
    • 内容:主要要包含自己执行的命令以及在多少次发生crash
    • 其它:在PR上要附上相关的Monkey log还有手机后台开启的log,如果有相关的强制关闭的图片也可以贴上。
    • Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类:
      • 基本配置选项,如设置尝试的事件数量。
      • 运行约束选项,如设置只对单独的一个包进行测试。
      • 事件类型和频率。
      • 调试选项。

     

    3      Monkey使用说明

    3.1   命令行说明

              以下主要介绍下平时测试中所用到的命令:

    • Monkey命令:adb shell monkey  -p <your.package.name> --throttle 380 -v -s 3500 300000 > C:monkey_log.txt,这个monkey 命令,当monkey test 过程中遇到Crash 或者ANR,就会自动终止.
    • 其中-p <allowed-package-name> 后面接着的是你所要跑的Monkey的包名,如果用此参数指定了一个或几个包,Monkey将只允许系统启动这些包里的Activity。如果你的应用程序还需要访问其它包里的Activity(如选择取一个联系人),那些包也需要在此同时指定。如果不指定任何包,Monkey将允许系统启动全部包里的Activity。要指定多个包,需要使用多个-p选项,每个-p选项只能用于一个包。
    • --throttle <milliseconds> 在事件之间插入固定延迟。通过这个选项可以减缓Monkey 的执行速度。如果不指定该选项,Monkey将不会被延迟,事件将尽可能快地被产成。命令中的380就是延迟时间,单位为毫秒。
    • -v  命令行的每一个-v 将增加反馈信息的级别。Level 0( 缺省值) 除启动提示、测试完成和最终结果之外,提供较少信息。Level 1 提供较为详细的测试信息,如逐个发送到Activity 的事件。Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的 Activity 事件。
    • -s <seed>  伪随机数生成器的 seed 值。如果用相同的seed 值再次运行Monkey ,它将生成相同的事件序列。命令中的300000 代表monkey event 执行的次数,3500表示Seed值(影响随机事件的发生顺序)
    • C:monkey_log.txt 指将Monkey 的log存在PC端的C盘根目录下。
    • 关于Monkey的其它命令,可以通过adb shell monkey来查看:

      https://www.cnblogs.com/zhuzhubaoya/p/7867496.html

  • 相关阅读:
    szoj657 【AHSDFZNOI 7.2 WuHongxun】Odd
    cogs2652 秘术「天文密葬法」
    bzoj1026 [SCOI2009]windy数
    bzoj1862/1056: [Zjoi2006]GameZ游戏排名系统
    java-PreparedStatement的用法
    java-JDBC登录注册代码
    java-String Date Calendar之间的转换
    java-如何用eclipse打包jar
    java-通过JDBC操作数据库
    java-JDBC配置驱动程序
  • 原文地址:https://www.cnblogs.com/aliceyang/p/12059520.html
Copyright © 2020-2023  润新知