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\test1.txt
表示测试com.example.phonecall应用程序,随机发送点击/滑动/切换事件10000次,( -v -v -v)表示信息日志为最高级,然后打印的信息传到F:\monkey_log\test1.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打开,发布的时候则关闭.
人间有真情,人间有真爱。