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打开,发布的时候则关闭.

 

原文地址:https://www.cnblogs.com/lifexy/p/12150481.html