• 7.Android-压力测试、单元测试、日志猫使用


    1.压力测试monkey

    通过cmd输入下面命令:

    adb shell monkey -p com.example.phonecall --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 > F:monkey_log	est1.txt

    表示测试com.example.phonecall应用程序,随机发送点击/滑动/切换事件10000次,( -v -v -v)表示信息日志为最高级,然后打印的信息传到F:monkey_log est1.txt里.

    如下图所示:

     

    2.单元测试

    2.1 定义一个要被测试的类MyMath

     

    2.2 然后再来定义一个单元测试MyMathTest类

     

    2.3 然后在单元测试MyMathTest类里来写测试方法,并来测MyMath类

     

    2.4 发现报错does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml

    如下图所示:

     

    这是因为在 AndroidManifest.xml文件中没有配置InstrumentationTestRunner 和uses-library

    2.5 修改AndroidManifest.xml

    在application元素上方添加: <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.utilstest"></instrumentation>

    在application元素里添加: <uses-library android:name="android.test.runner" />

    如下图所示:

    2.6 再次Run As运行

    如下图所示,显示Success则单元测试成功了:

     

    3.日志猫LogCat使用

    日志猫显示标签选项有下面几个:

     

    • verbose: 开发调试过程中一些详细信息,不应该编译进产品中,只在开发阶段使用。
    • debug: 用于调试的信息,编译进产品,但可以在运行时关闭。
    • info: 例如一些运行时的状态信息,这些状态信息在出现问题的时候能提供帮助。
    • warn: 警告系统出现了异常,即将出现错误。
    • error: 系统已经出现了错误。

    其中info、warn、Error的警示等级是依次提高,需要一直保留。比如当前选择的是warn(则只显示warn、error)

     

    3.1 日志猫如何过滤标签

    比如我们过滤出system.out打印(过滤tag信息)的话,则填入:

     

    这样的话,将会只显示Tag里只带有System.out的信息:

     

    在安卓中除了用systemOut外,还支持log打印,这样就可以很容易判断出代码的问题类型.

    3.2 Log打印

    在MainActivity.java里写入:

     

    然后就可以在logcat中看到,我们打印的具体log(log的tag一般填写类名):

     

    PS:一般我们会将log封装一下,比如下图所示:

     

    调试的时候,将openLog打开,发布的时候则关闭.

     

  • 相关阅读:
    创新工场 笔试1
    C++的异常处理
    阿里笔试题2
    阿里笔试题1
    控制CPU占用率曲线
    再探结构体字节对齐问题
    1401
    pancake sort的几个问题
    CF198 D2
    谨慎设计一个单例类
  • 原文地址:https://www.cnblogs.com/lifexy/p/12150481.html
Copyright © 2020-2023  润新知