2012-03-12 3 views
4

나는 몇 시간 동안이 문제에 대해 인터넷 검색을 해왔고, 나는 혼란 스럽다. 임은 안드로이드 장치를위한 포괄적 인 테스트 슈트를 작성하려고 시도했는데, 첫 번째 아이디어는 logcat 출력을 사용하여 테스트 결과의 유효성을 검사하는 것이 었습니다. Logcat에는 OS와 Google Apps에서 필요한 모든 이벤트 정보가 있습니다.이벤트 캡쳐를 위해 logcat을 사용하는 Android 테스팅

Robotium 또는 Monkeyrunner를 사용하여 즉시 logcat에 액세스 할 수있는 방법을 찾지 못했습니다. logcat을 모니터링 할 외부 앱을 만드는 것이 문제가되지 않습니다 (이벤트를 결과에 동기화하기 어렵습니다).

아이디어가 있으십니까?

답변

6

시도해보십시오.

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

이 그런 다음 설정 방법에 스레드를 생성하고 다음과 같은 수행 한 : 당신의 Robotium 매니페스트 파일에 다음 권한을 추가

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

그런 다음 사용하여 읽을 :

reader.readLine() 
+1

그것은 그것이 필요한 것보다 훨씬 더 복잡합니다. – BlackHatSamurai

1

정기적 인 체크 포인트에서 logcat -d -v time 옵션을 사용하여 구문 분석 한 후 계속하십시오. 이 도움이 될까요?