使用logcat进行Android测试以进行事件捕获

时间:2012-03-12 14:23:29

标签: android logcat robotium monkeyrunner

我一直在谷歌搜索这个问题几个小时,我很难过。 我试图为Android设备编写一个全面的测试套件,我的第一个想法是使用logcat输出验证测试结果。 Logcat拥有我需要的所有操作信息,包括操作系统和我们的应用程序。

使用Robotium或Monkeyrunner,我发现无法动态访问logcat。 创建一个外部应用程序来监控logcat是不可能的(很难将事件同步到结果)。

任何想法的人?

2 个答案:

答案 0 :(得分:6)

试试这个。将以下权限添加到Robotium清单文件中:

<uses-permission android:name="android.permission.READ_LOGS" />

然后在setup方法中创建一个线程,并让它执行以下操作:

Process proc = Runtime.getRuntime().exec("logcat -d");
BufferedReader reader = new BufferedReader(new 
    InputStreamReader(proc.getInputStream()));

然后阅读:

reader.readLine()

答案 1 :(得分:1)

在常规检查点使用 logcat -d -v time 选项,解析它然后继续。 这会有帮助吗?