개인적으로 여러가지 경우에 대해 

click, touch, gesture, system level event 에 대해 이벤트를 랜덤 또는 순차적으로 발생시켜 오류를 잡는 테스트가 필요하여


Android 에서 지원하는 UI 테스팅 툴 monkey에 대해 사용해 보았습니다.



Monkey


Android 에서 지원하는 UI 테스팅 툴로 터치, 클릭, 제스쳐 등의 이벤트를 랜덤으로 발생시키거나, 스크립트 파일을 이용해서 원하는 UI Action을 수행할 수 있도록 하는 도구





adb shell 실행


cmd 창에서 adb shell 을 실행하는 것이 첫번째이다.


1. 윈도우를 기준으로 환경변수가 설정되어 있다면 cmd 를 실행해서 C:\adb shell 을 입력하면 실행이 될 것입니다.


2. cmd 창에서 android sdk가 설치된 폴더로 이동해서 adb shell을 입력

[SDK설치폴더]/platform-tools/adb shell



입력한 후 아래 처럼 바뀌면 adb shell 실행이 완료 




monkey 명령어 사용



- monkey -p <패키지명> -v 100     : 랜덤한 이벤트 100회를 호출



   * -p 특정 패키지만을 사용하고 싶다는 뜻입니다. 복수개 사용하여 적용도 가능합니다. -p <package1> -p <package2>

  


패키지 명으로 위의 명령어를 실행 시키면 자동으로 연결된 디바이스에서 패키지명에 해당하는 앱을 실행하여 이벤트를 발생 시킵니다.


로그는 Android Monitor에서 확인해 보았습니다.


monkey -p c<패키지명> --pct-touch 100 -v 100


이벤트를 100번 호출 하는데 touch이벤트만 100% 호출하고 싶을 때 사용하는 명령어 입니다.


이벤트에 관련된 명령어는 아래 정리한 것으로 적용시키면 됩니다.



--throttle <milliseconds>  이벤트 발생 속도를 지정. 지정하지 않는 경우에는 가능한 빠르게 이벤트를 발생시킵니다.

--pct-touch <percent>  터치 이벤트 발생 비율을 조정(터치 이벤트는 화면의 한 곳을 눌렀다 떼는 신호를 말한다)

--pct-motion <percent>  모션 이벤트의 발생 비율을 조정(모션 이벤트는 화면 한 지점을 누르고 무작위로 다른 지점으로 이동 후 떼는 것을 말한다)  
--pct-trackball <percent>  트랙 볼 이벤트의 발생 비율을 조정한다.(하나 이상의 무작위 이동 이벤트를 말하며 가끔씩 한번의 클릭이 올 수 있다)  
--pct-nav <percent>  "basic"네비게이션 이벤트의 발생 비율을 조정한다.(네비게이션 이벤트란 H/W(폰)의 상하좌우 방향키 입력을 말한다.)  
--pct-majornav <percent>  "major"네비게이션 이벤트의 발생 비율을 조정한다.(백 키나 메뉴 키, 방향키의 가운데 키와 같은 이벤트를 말한다.)

--pct-syskeys <percent>  시스템 이벤트의 발생 비율을 조정한다.(Home 버튼, 백 키, 전화 걸기, 전화  끊기, 볼륨 조절과 같은 이벤트를 말한다.) 
--pct-appswitch <percent>  엑티디비 실행 비율을 조정한다. 패키지 안의 다른 액티비티로 변환되는 것을 말한다. Monkey는startActivity()에 의한 Activity 실행도 테스트한다.  
--pct-anyevent <percent>  그 밖의 이벤트의 비율을 조정한다.


 



adb install


monkey테스트 관련된 명령어 외에 adb에 apk를 install 하는 명령어가 가끔 사용되어 정리해 보았습니다.


- 자신의  Android SDK 의 platform-tools 이나 tool에 sdk 복사 해 놓기  ex ) E:\sdks\android-sdks\platform-tools 여기에 apk 복사


- cmd 실행

<platform-tool경로로 들어오기 >adb install E:\sdks\android-sdks\platform-tools\<apk명>





+ Recent posts