• Monkey测试结果分析


    一. 初步分析方法

     
    Monkey测试出现错误后,一般的差错步骤为以下几步:
     
    1、 找到是monkey里面的哪个地方出错
     
    2、 查看Monkey里面出错前的一些事件动作,并手动执行该动作
     
    3、 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样
     
    一般的测试结果分析:
     
    1、 ANR问题:在日志中搜索“ANR”. Application Not Response.
     
    2、 崩溃问题:在日志中搜索“Exception”  异常。
     
     
    二. 详细分析monkey日志
     
    将执行Monkey生成的log,从手机中导出并打开查看该log;在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。
     
    1.首先我们需要查看Monkey测试中是否出现了ANR或者异常,具体方法如上述。
     
    2.然后我们要分析log中的具体信息,方法如下:
     
      ①查看log中第一个Switch,主要是查看Monkey执行的是那一个Activity,譬如下面的log中,执行的是com.tencent.smtt.SplashActivity,在下一个swtich之间的,如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。
     
    :Switch:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.tencent.smtt/.SplashActivity;end
     
      // Allowing start of Intent {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]cmp=com.tencent.smtt/.SplashActivity } in package com.tencent.smtt
     
      ②在下面的log中,Sending Pointer ACTION_DOWN和Sending Pointer ACTION_UP代表当前执行了一个单击的操作;
     
    Sleeping for 500 milliseconds这句log是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件。
     
    SendKey(ACTION_DOWN) //KEYCODE_DPAD_DOWN   代表当前执行了一个点击下导航键的操作;
     
    Sending Pointer ACTION_MOVE     代表当前执行了一个滑动界面的操作。
     
    :Sending Pointer ACTION_DOWN x=47.0 y=438.0
     
    :Sending Pointer ACTION_UP x=47.0 y=438.0
     
    Sleeping for 500 milliseconds
     
    :SendKey (ACTION_DOWN): 20   //KEYCODE_DPAD_DOWN
     
    :SendKey (ACTION_UP): 20   //KEYCODE_DPAD_DOWN
     
    Sleeping for 500 milliseconds
     
    :Sending Pointer ACTION_MOVE x=-2.0 y=3.0
     
    :Sending Pointer ACTION_MOVE x=4.0 y=-3.0
     
    :Sending Pointer ACTION_MOVE x=-5.0 y=-3.0
     
    :Sending Pointer ACTION_MOVE x=3.0 y=4.0
     
    :Sending Pointer ACTION_MOVE x=-4.0 y=1.0
     
    :Sending Pointer ACTION_MOVE x=-1.0 y=-1.0
     
    :Sending Pointer ACTION_MOVE x=-2.0 y=-4.0
     
      ③如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;// Monkey finished代表执行完成。Monkey执行中断,在log的最后也能查看到当前已执行的次数。Monkey执行完成的log具体如下:
     
    Events injected: 6000
     
    :Dropped: keys=0 pointers=9 trackballs=0 flips=0
     
    ## Network stats: elapsed time=808384ms (0ms mobile, 808384ms wifi, 0msnot connected)
     
    // Monkey finished
     

    三、关于Monkey测试的停止条件

    Monkey Test执行过程中在下列三种情况下会自动停止:

    1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。

    2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。

    3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

    通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。

  • 相关阅读:
    JS仿淘宝网顶部的导航菜单
    JS+CSS打造高仿XP默认主题菜单样式
    Jquery打造网页右上角可伸缩关闭的菜单
    来自百度百科的目录显示/隐藏效果
    Jquery打造的下拉层式菜单
    javascript小數位四舍五入[IE5.5+]
    css外容器margin問題[IE中height:100%]
    EXEC执行动态SQL时取出变量值[EXEC函数只能是局部变量]
    sql一列变多列
    判斷日期,輸出成YYYY/MM/DD形式
  • 原文地址:https://www.cnblogs.com/hanfanfan/p/7095662.html
Copyright © 2020-2023  润新知