zoukankan      html  css  js  c++  java
  • monkey测试环境搭建 及 操作步骤

    1.环境搭建

      a.下载安卓SDK

      链接:https://pan.baidu.com/s/1-OB6UVPvl5-N-vFdykfMmA

      提取码:3spx

      b.配置环境变量(配置完成,重启系统,配置生效)

      c.测试安卓环境搭建成功

    •   打开手机的开发者模式
    •   使用数据线,连接安卓手机。
    •   是否允许访问手机数据,选择 是;允许USB调试吗,一律允许。
    •   打开cmd,输入命令:adb devices,结果如下图所示,环境搭建成功。

     2.具体操作:

      a.启动待测APP,在cmd中输入命令 获取包名

      adb shell "dumpsys window w|grep /|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed 's/ //g'"

      如下图所示,com开头的就是包名

      b.执行 monkey测试,并把执行日志记录到指定位置。

      在cmd输入命令adb shell monkey -p 包名 -v -v -v 100 >d: est.txt,

      100指的是发送的随机事件个数(这时候可以观察手机APP在各种操作下的反应)

      c.如何确认monkey测试发现了问题呢?分析日志

      从日志中搜索:exception、crash、ANR 这3个关键词。monkey的错误一般都是这3个,异常,崩溃,程序终止。找到错误了日志后面会有原因的,给开发看就是了

    解释一下什么是 ANR错误:

    ANR (Application Not Responding)  

        ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。

        默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间则是10秒。

    第一:什么会引发ANR?

         在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的 。当它监测到以下情况中的一个时,Android就会针对特定的应用程序显示ANR:

    1.在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)
    2.BroadcastReceiver在10秒内没有执行完毕

    3.service是20

    造成以上两点的原因有很多,比如在主线程中做了非常耗时的操作,比如说是下载,io异常等。

       

        潜在的耗时操作,例如网络或数据库操作,或者高耗时的计算如改变位图尺寸,应该在子线程里(或者以数据库操作为例,通过异步请求的方式)来完成。

     原创文章,转载请注明出处。

  • 相关阅读:
    Python 函数 I
    jmeter-将上一个接口的返回值作为下一个接口的参数
    Python 文件的操作
    Python 基础数据类型 VI
    Pyhton 基础数据类型 V (补充)
    Python 基础数据类型 IV (集合)
    Python 基础数据类型 III (字典)
    难道是你?
    是你啦
    checkWeb
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/10130711.html
Copyright © 2011-2022 走看看