요약 --monkey 안드로이드 자동화 된 테스트

원숭이는 무엇인가

  원숭이는 작은 안드로이드 자동화 된 테스트 도구이다. 안드로이드는 주로 스트레스 테스트에 사용되는 주요 목적은 응용 프로그램 충돌 여부를 테스트하는 것입니다.

원숭이의 특징

  이름에서 알 수 있듯이, 원숭이는 컴퓨터, 혼란 입력 장치 시험의 앞에 원숭이처럼 원숭이, 원숭이 시험이다. 원숭이는 Luanqiao을 알고, 아무것도 이해하지 않습니다. 장치 시뮬레이션 프로그램 원숭이 한 사용자 프로그램의 스트레스 테스트를하려면 화면, 슬라이드 트랙볼, 조작 키 등을 접촉, 윌 프로그램이 감지 시간 이상이 발생합니다.

원숭이 프로그램 소개

  원숭이는 자바 언어를 사용하여 작성 안드로이드 시스템과 함께 제공하는 프로그램입니다. 파일 시스템에 안드로이드 저장 경로는 다음과 같습니다 /system/framework/monkey.jar;

  Monkey.jar 프로그램은 안드로이드 파일 시스템에서 실행, 쉘 스크립트 저장 경로를 시작합니다 "원숭이"라는 쉘 스크립트로 구성 / 시스템 / 빈 / 원숭이;

  원숭이 시작 : 원숭이 테스트를 시작하기 위해 라인 내에서 cmd를 명령 프롬프트에서 명령을 입력합니다.

A, 원숭이 설명 :
원숭이는 안드로이드의 명령 줄 도구입니다, 당신은 시스템에 사용자 이벤트의 의사 난수 스트림을 전송, 시뮬레이터 또는 실제 장치에서 실행할 수 달성하기 위해 (클릭, 슬라이드, 응용 프로그램, 응용 프로그램이 닫혀 어쨌든 화면 전환) 응용 프로그램이 스트레스 테스트를 개발하고. 원숭이 테스트는 소프트웨어의 빠른 테스트를위한 안정적인 강력하고 효과적인 방법이다. 활동 서비스를 테스트하지 않는, 테스트 용으로 만 수행.

둘째, 품질 요구 사항 다음
(해제) 이전 버전의 릴리스의 결과, 원숭이가 0, 최종 버전으로, 원숭이 마무리의 총 수는 25W를해야 할 충돌하기 전에 도망이 허용되지 않습니다 nullPointException 결과가 나타납니다.

세, 원숭이 명령 매개 변수 :
. 1> -p
패키지가 지정되지 않은 경우 제약 조건이 매개 변수 또는 패킷을 복수로 지정, 지정된 패키지 후, 원숭이는 모든 원숭이 애플 리케이션 시작, 시스템을 지정된 응용 프로그램 시작을 허용합니다 .

예 : 패키지 com.htc.weather -v -p 원숭이 지정 (1000)는 
        원숭이 여러 패키지를 지정 -p com.htc.weather -p com.htc.pdfreader com.htc.photo.widgets -v -p 1000 
        를 지정하지 않은 패키지를 원숭이 -v 1000

2> -v

세 단계로 나누어 정보 레벨 (로그의 상세 수준)이 지정 피드백, 레벨이 높을수록 더 상세한 로그.

레벨 0 : 

例: 원숭이 -p com.htc.weather -v 1000 

레벨 1 : 
例: 원숭이 -p com.htc.weather -v -v 1000 
레벨 2 : 
例: 원숭이 -p com.htc.weather -v - V -v 1000

3> -s

의사 난수 생성기의 시드 값 지정된 이벤트의 순서, 같은 종자 경우, 두 원숭이 테스트 생성도 동일합니다.

원숭이 -p의 com.htc.weather는 -s (35) -v (1000)

4> --throttle (MS)

각 이벤트의 종료 후 간격을 개발 시스템 압력을 감소시킨다. (당신이 이벤트의 순서를 지정하지 않은 경우 가능한 한 빨리 전송됩니다)

--throttle 원숭이 (300)

5> 사용자 정의 이벤트

--pct 터치 : 터치 이벤트 지정된 백분율, 예를 들면 : - 터치 PCT 5. %     , 기타 관련 :
 -PCT 모션 <백분율> (슬립 이벤트)
 -PCT 트랙볼 <백분율> (이벤트 트랙볼 ) 
 -PCT-NAV <백분율> (네비게이션 이벤트 / 하 / 좌 / 우)
 -PCT-majornav <백분율> (주 키 네비게이션 이벤트로 돌아 가기, 메뉴 키) 
 -PCT - 더 SYSKEYS <백분율> (시스템 키 이벤트 홈, 뒷면 StartCall, 통화 종료, VolumeControl과)
 -PCT-appswitch <비율이> (작업의 전환)
 -PCT-AnyEvent <백분율> (어떤 경우에)

6> 디버깅 옵션

NO ---- DBG의 이벤트 : 활동의 첫 시작은, 그러나 어떤 이벤트를 생성하지 않습니다.
- HPROF : 분석 보고서 전에 일련의 사건 보낼 직후 생성됩니다 지정한 후 - 일반적으로 권장해서 지정합니다.
--ignore- 충돌 : 붕괴 무시
 --ignore- 총 시간 제한을 : 제한 시간 무시
 --ignore-보안 - 예외와 : 보안 예외를 무시
 --kill-과정 - 방과후 오류 : 오류가 발생한 직후 프로세스를 종료
 --monitor-native- 충돌 : 추적의 현지 방법은 충돌
 --wait-DBG을 : 노하우를 디버거를 연결 원숭이 시험의 시행 전에.

본 실시 예 :( 안드로이드 스튜디오 + 테스트 환경 시뮬레이터 Nexus_5_API_23)의 네 번째 사용

1 > 먼저 테스트를 위해 가상 머신을 사용할뿐만 아니라 (제어하지 않는 실제 테스트) 시뮬레이터를 만들기 위해 안드로이드 환경을 구성 할 수 있습니다.
2 > 플랫폼 도구로, 나는 플랫폼에 다음도 경로에 표시된 도구 
안드로이드 스튜디오를 명령 줄 (또는 cmd를가), 명령 입력되어 

3 > 본격 시뮬레이터 (ADB 장치는 연결된 장치를 나열하는 명령을 실행 )는 APK 테스트 할 설치 
APK에 플랫폼에 처음 - ADB 파일 이름의 .apk 설치 : 실행 도구 폴더 명령을
 (4)를 각각 응용 프로그램의 주 활동의 패키지 이름이 위치한 찾을> 다음 명령을 실행합니다 :

LS 명령은 작업 패키지 이름을 테스트 할 수있는 주요 APK에있는 목록에서 패키지 이름 다음에 실행됩니다.

5> 테스트를 자동화하기 위해 원숭이를 사용하여

원숭이 -p 패키지 이름 -v 1000

시험 결과의 V. 분석 :

1.

  

2.

삼. 

4.

5> 테스트가 완료되면, 충돌 및 예외없는 경우가 나타납니다 없다

6> 중간 시험 충돌이 발생하거나 예외 원숭이 인쇄 관련 오류 메시지를 중지한다.

여섯, 원숭이 테스트 정지 조건 (또한 시험의 수를 중지 한 후 완료 계속할 수 이러한 조건에 표시되는 명령에서 설정할 수)
첫 번째 원숭이의 상단이 하나 개 이상의 특정 패키지에서 실행중인 경우, 다음 검출을 시도합니다 1> 포장재의 동작은 블로킹을 실시;

애플리케이션이 충돌하거나 임의 폭주 이상을 수신하면 2>, 원숭이 중지하고 에러 것이다;

응용 프로그램이 응답하지 않는 응용 프로그램 오류 (응용 프로그램이 응답하지 않음) 만드는 경우 3>, 원숭이 오류와 함께 중지됩니다.

    通过多次并且不同设定下的Monkey测试才算它是一个稳定性和健壮性足够的程序。

七、为保证测试数量的完整进行,一般不会在发生错误时立刻退出压力测试。monkey 测试命令如下
adb shell monkey -p 包名 -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000

八、把log导出到本地
这里分为两种情况:
1.如果我们没有进入到shell则直接执行命令:
adb shell monkey -p 包名 -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 > E:\monkey_log\test1.txt

2.
如果已经进入adb shell,正确的导出步骤:(在前边我们执行完adb shell命令之后,进入shell命令相当于进入Linux的root下面,没有权限在里面创建文件。)
执行exit命令退出shell

然后执行adb shell monkey -p 包名 -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 > E:\monkey_log\test1.txt

 

추천

출처www.cnblogs.com/jiangzhaowei/p/11353569.html