1.몽키란?
Monkey는 SDK에 포함된 도구입니다.
2. Monkey 테스트의 목적은 무엇인가요?
: 이 도구는 스트레스 테스트에 사용됩니다. 그런 다음 개발자는 원숭이가 인쇄한 로그와 시스템이 인쇄한 로그를 결합하여 테스트 중에 발생하는 문제를 해결합니다.
3. 몽키 테스팅의 특징은 무엇인가요?
원숭이 테스트, 모든 이벤트는 인간의 주관 없이 무작위로 생성됩니다.
4. Monkey 명령에 대한 자세한 설명
1) 표준 원숭이 명령
[adb shell] Monkey [options]
위는 단순한 예시일 뿐이며 실제 상황에서는 일반적으로 많은 옵션이 있습니다
2) 4가지 범주 - 공통 옵션, 이벤트 옵션, 제약 옵션, 디버깅 옵션
1: 공통 옵션
--help:打印帮助信息
-v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200 --throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100 --pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有以下option: --pct-motion <percent> (滑动事件)、 --pct-trackball <percent> (轨迹球事件) 、 --pct-nav <percent> (导航事件 up/down/left/right)、 --pct-majornav <percent> (主要导航事件 back key 、 menu key)、 --pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、 --pct-appswitch <percent> (activity之间的切换)、 --pct-anyevent <percent>(任意事件)
-p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura; -c:activity必须至少包含一个指定的category,才能被启动,否则启动不了;
--dbg-no-events:初始化启动的activity,但是不产生任何事件。 --hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。 --ignore-crashes:忽略崩溃 --ignore-timeouts:忽略超时 --ignore-security-exceptions:忽略安全异常 --kill-process-after-error:发生错误后直接杀掉进程 --monitor-native-crashes:跟踪本地方法的崩溃问题 --wait-dbg:知道连接了调试器才执行monkey测试。
adb shell monkey -p com.xy.android.junit -s 500 -v 10000
adb shell monkey -p com.xy.android.junit -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt
생성된 시계열의 시드 값: 500
프로그램 충돌 무시, 무시 시간 초과 및 로컬 프로그램 충돌 모니터링, 세부 수준은 2이고 10,000개의 이벤트가 생성됩니다.