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