2012-03-12 49 views
4

我一直在Google上搜索這個問題長達數小時,而且我很難過。 我試圖編寫一個Android設備的綜合測試套件,我的第一個想法是使用logcat輸出驗證測試結果。 Logcat擁有我需要的操作系統和應用程序的所有事件信息。使用logcat進行事件捕獲的Android測試

使用Robotium或Monkeyrunner時,我發現無法訪問logcat。 創建一個外部應用程序來監視logcat是不可能的(很難將事件同步到結果)。

任何想法傢伙?

回答

6

試試這個。以下權限添加到您的Robotium清單文件:

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

然後創建您的設置方法的線程,並讓它執行以下操作:

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

然後閱讀使用:

reader.readLine() 
+1

這是比它需要更復雜的方式。 – BlackHatSamurai 2012-06-21 01:02:33

1

在常規檢查點使用logcat -d -v時間選項,解析它然後繼續。 這會幫助嗎?