A, 원숭이의 특징
1 동작의 타이밍은 : 관능 시험의 첫 번째 라운드 밤 완료 후, 일반적으로 제품은 안정
2, 여기서 packageName을 알 필요가
3. 목적 : 주요 테스트 제품은 충돌 및 ANR 문제가있는 경우.
둘째, 두 가지 방법은 패키지 이름을 얻었다
먼저 획득 한 패키지 시뮬레이터를 설치하려면 : ADB <경로와 패키지 이름> 설치
로그 캣 ADB에 의해 얻은 1,
ADB 쉘 "로그 캣 | 시작을 grep을"[직접 표시 로그온하지 않은 경우, 먼저 리눅스 명령을 입력 할 수 있습니다 다음, ADB 쉘을 실행 로그 캣 | 그렙 START]
다음 APK를 열고, 당신은 패키지 이름을 나올 수 있습니다
2, aapt에 덤프 배지의 APK 名称
원숭이의 셋째, 기본 명령
1, 표준 원숭이 명령 : ADB 쉘 원숭이 -p의 com.android.calculator2 -v (50)
-p : 여기서 packageName
-v : 로그 수준
50 : 사건 수
2, ADB 쉘 원숭이 -p com.android.calculator2 -v -v --pct 터치 --throttle 50 600 88
--pct 터치 (50)는 클릭의 비율에 전체 프로세스를 설정합니다
이벤트 600ms의 간격마다 600 --throttle
3, ADB 쉘 원숭이 -p 패키지 이름 --throttle 500 --ignore-충돌 --ignore-시간 제한 --ignoresecurity-예외 --ignore--충돌 기본 --monitor-네이티브 충돌 -v -v -v 1000000> C : \ monkey_test.log
--ignore-충돌 실행을 중지 원숭이 여부, (강제 닫기 오류) 응용 프로그램이 충돌을 지정하는 데 사용됩니다. 이 매개 변수를 사용하는 경우 이벤트 카운트가 완료 될 때까지, 심지어 응용 프로그램이 충돌하는 경우, 원숭이는 여전히 이벤트를 보냅니다.
--ignore-시간 제한은 응용 프로그램이 실행을 중지 원숭이 여부, ANR (응용 프로그램 아니오 응답) 오류가 발생했을 때 지정하는 데 사용됩니다. 이 매개 변수를 사용하는 경우 이벤트 카운트가 완료 될 때까지 응용 프로그램 오류가 발생 ANR 경우에도, 원숭이는 여전히 이벤트를 보냅니다.
--ignore-보안 예외는 허가 응용 프로그램 오류가 발생, 원숭이 (예 : 인증서 라이센스, 네트워크 라이센스, 등) 실행을 중지 할 것인지 여부를 때 지정하는 데 사용됩니다. 이 매개 변수를 사용하는 경우 이벤트 카운트가 완료 될 때까지 응용 프로그램 오류가 라이센스 원숭이 발생한 경우에도 여전히 이벤트를 보냅니다.
--kill-공정 후 오류가 응용 프로그램 오류가 발생했을 때 그 동작을 중지 할 것인지 여부를 지정하기 위해 사용된다. 지정된 경우 응용 프로그램 오류가 발생하면, 애플리케이션을 실행하고, 현재 상태 (: 어플리케이션에만 오류가 시스템이 응용 프로그램의 프로세스를 종료하지 않는 발생시 여전히 주) 유지 멈춘다.
--monitor-네이티브 충돌 모니터와 네이티브 코드를 발생하는 충돌의 응용 프로그램을보고 있는지 여부를 지정합니다
네, 원숭이 로그 수준
파라미터 : -v 피드백 정보는 상기 레벨을 지정하는 데 사용되는, 각각 다음과 같은 매개 변수에 대응하는, 세 개의 하위 레벨의 합계 (세부 단계는 로그 레벨 정보이다)
1 로그 레벨 LEVEL0
예 ADB shellmonkey -p com.htc.Weather -v 100
설명 기본값, 부팅 프롬프트에 대한 정보의 소량 만, 완전하고 최종 시험 결과 등
2, 로그 레벨은 1 레벨
예 ADB 쉘 원숭이 -p com.htc.Weather -v -v (100)
설명 활동의 각 송신되는 이벤트 정보를 포함하여보다 자세한 로그를 제공합니다
3, 레벨 레벨 2를 기록
예 ADB 쉘 원숭이 -p com.htc.Weather -v -v -v (100)
테스트를 포함한 로그의 가장 상세한 설명은 / 체크되지 않은 활동 정보를 확인
이벤트의 다섯, 원숭이 유형
1, - PCT 터치 : 터치 이벤트의 지정된 비율과 같은 : - PCT 터치 5
2 --pct 모션 (일정 슬라이딩)
3 --pct 트랙볼 (트랙볼 이벤트)
4, --pct - 탐색 (네비게이션 이벤트 상 / 하 / 좌 / 우)
5---pct majornav (네비게이션 메인 이벤트 뒤로 키, 메뉴 키)
6, --pct-SYSKEYS (시스템 키 이벤트로 돌아 가기 홈, startCall, 통화 종료, 동시에 볼륨)
7---pct appswitch (작업의 전환)
8 - (모든 경우에) PCT-anyevent
여섯, 원숭이 매개 변수 -s
파라미터 : 동일한 시드가 두 시험 원숭이 같은 제조 -s 경우는 의사 난수 발생기를 시드 값, 이벤트의 순서를 지정한다. 예 :
원숭이 테스트 1 : com.htc.Weather -p ADB 쉘 원숭이 (10) (100)를 -s
원숭이 시험 2 : S-10 개 com.htc.Weather 100 개의 테스트 결과 -p ADB 쉘 원숭이은 시뮬레이션, 즉 사용자의 동작 시퀀스 (특정 순서로 이루어진 각 작동하는 일련의 동작뿐만 동일 시퀀스)는 동일하다. 연산의 순서는 랜덤하게 생성되지만, 우리는 동일한 시드 값을 지정하는 경우, 그러나, 동작의 랜덤 시퀀스는 두 검사가 동일 생성 할 수 있도록 상기 의사 랜덤 시퀀스의 동작 단계;
원숭이의 일곱 개 로그 분석
1, 키워드 검색, ANR, 예외, 충돌, 오류에 의해.
2, 문제 영역을 찾을 수는 상황에 맞는 정보를 참조하십시오.
도 3은, 상기 제 1 스위치의 컨텍스트 정보를 참고.
내부 작업이 원숭이 오류를 확인하기 전에 (4), 일부 이벤트는, 수동으로이 작업을 수행 할 수 있습니다.
5 명령 전에 실행 반복되는 문제, 원숭이 같은 시드 값에주의, 다시 실행에 사용할 수 있습니다.
[분석 시험 결과]
(1), ANR 문제 (응답) : 로그에 "ANR"에 대한 검색 (출원 번호 응답)
(2) 문제를 다시 플래시 : 로그 검색을 "충돌"
(3) 예외 : "예외"를 검색
(4), 강제 종료 : 검색 "강제 폐쇄"
여덟, 충돌 특수
1, 설치가 응용 프로그램 충돌이 발생할 수 있습니다
2 명령을 실행 압력
3, 예외 정보의 충돌을 추출
케이스 : 스트레스 테스트를 수행하고 monkey_test.log는 로그 파일을 생성합니다.
#adb 쉘 원숭이 -p cn.besttest.crashtest -v 100> E : \ 원숭이 \ monkey_test.log
#보기 E 디스크 폴더에서 monkey_test.log를 생성되었습니다.
# 파일 열기, 충돌 분석
나인, ANR 특수
위의 단계
1, 설치가 앱 ANR을 일으킬 수 있습니다
2 명령을 실행 압력
3 ANR는 예외 정보를 추출
1, 원숭이의 로그를 참조
2 / 데이터 / ANR / traces.txt
ANR 로그 로그 캣 3.