몽키 스크립트를 이용하여 자동화 테스트를 하고자 하는 이유는 무료라는 점이며, 단순한 반복 테스트의 경우는 스크립트로 쉽게 만들어 테스트가 가능하다는 잇점이 있으며, 구글에서 조차 랜덤 및 스트레스 테스트로 몽키의 사용을 권장하고 있습니다.
몽키 스크립트를 이용한 테스트 방법은 2가지의 경우로 나눌수 있습니다.
- ADB(Android Debug Bridge) push 로 스크립트를 단말로 복사 후 스크립트를 직접 실행시키는 방법
- Simple Protocol for Automated Network Control 을 이용하여 간접 실행시키는 방법
여기서는 Simple Protocol for Automated Network Control을 이용하여, 네트웍 소켓프로그램으로 실행하는 법을 설명하고자 합니다. 이는 소켓 프로그램이 가능한 언어로 다른 형태의 테스트 프로그램을 작성 가능하게 해 주는 것으로, 몽키를 이용한 또 다른 활용의 방법을 제시 해 주고 있습니다.
SIMPLE PROTOCOL FOR AUTOMATED NETWORK CONTROL
The Simple Protocol for Automated Network Control was designed to be a low-level way to programmability inject KeyEvents and MotionEvents into the input system. The idea is that a process will run on a host computer that will support higher-level operations (like conditionals, etc.) and will talk (via TCP over ADB) to the device in Simple Protocol for Automated Network Control. For security reasons, the Monkey only binds to localhost, so you will need to use adb to setup port forwarding to actually talk to the device.
먼저 python이 설치 되어 있다는 가정하에, 간접 실행의 경우 아래 예제를 보면 보다 쉽게 이해 가능합니다. python의 설치는 이전 포스트에 설명 되어 있습니다.
- 예제 : monkeyscript.py
- 문법 : monkey 소스에 포함되어 있는 example_script.txt에 의하면 아래와 같습니다.
# Touch the android
touch down 160 200
touch up 160 200
sleep 1000
# Hit Next
touch down 300 450
touch up 300 450
sleep 1000
# Hit Next
touch down 300 450
touch up 300 450
sleep 1000
# Hit Next
touch down 300 450
touch up 300 450
sleep 1000
# Go down and select the account username
key down dpad_down
key up dpad_down
key down dpad_down
key up dpad_down
key down dpad_center
key up dpad_center
# account name: bill
key down b
key up b
key down i
key up i
key down l
key up l
key down l
key up l
# Go down to the password field
key down dpad_down
key up dpad_down
# password: bill
key down b
key up b
key down i
key up i
key down l
key up l
key down l
key up l
# Select next
touch down 300 450
touch up 300 450
# quit
quit
- 실행 방법 :
[adb tcp port 설정] |
[python monkeyscript.py 실행] |
참조 : http://dustingram.com/articles/2010/06/18/automated-control-of-an-android-device-with-python/
끝.
댓글 없음:
댓글 쓰기