monkeyrunner로 Android 자동화 테스트 작성
5168 단어 안드로이드자동화monkeyrunner
Android 작업을 자동화하여 테스트 자동화
개발 환경
Mac 10.14.6
했던 일
참고로 한 사이트
htps : // 이 m / 이코타 / ms / e f6bdb4, d6, b9, 912
htps : //로 ゔぇぺぺr. 안 d로이 d. 이 m / s 츠에 오 / st / 몬케 y 루 응 r / 몬케 y로 ゔ ㄱ? hl = 그럼
절차
monkeyrunner 실행 환경 구축
이미 Android Studio가 다운로드되고 있는 환경에서는 monkeyrunner가 아래에 있다.
/Users/xxx/Library/Android/sdk/tools/bin/monkeyrunner
터미널에서 monkeyrunner를 실행하면 다음 오류가 발생하여 실행할 수 없습니다.
./monkeyrunner
-Djava.ext.dirs=/Users/xxx/Library/Android/sdk/tools/lib:/Users/xxx/Library/Android/sdk/tools/lib/x86_64 is not supported. Use -classpath instead.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
monkeyrunner는 "Java SE 10.0.2"로는 실행할 수 없기 때문에 OpenJDK 8을 install한다.
$ brew tap homebrew/cask-versions
==> Tapping homebrew/cask-versions
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 225744 (delta 8), reused 6 (delta 4), pack-reused 225723
Receiving objects: 100% (225744/225744), 58.27 MiB | 7.02 MiB/s, done.
Resolving deltas: 100% (155275/155275), done.
Tapped 155 casks (202 files, 64.5MB).
$ brew cask install adoptopenjdk8
==> Downloading https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_mac_hotspot_8u252b09.pkg
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/140418865/c5d7a700-80b2-11ea-83f0-4ba454f82e1c?X-Amz-Algorithm=AWS4-HMAC-SHA256
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'adoptopenjdk8'.
==> Installing Cask adoptopenjdk8
==> Running installer for adoptopenjdk8; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
Password:
installer: Package name is AdoptOpenJDK
installer: Installing at base path /
installer: The install was successful.
🍺 adoptopenjdk8 was successfully installed!
openjdk8이 설치되었는지 확인합니다.
$ /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -V
Matching Java Virtual Machines (2):
10.0.2, x86_64: "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
1.8.0_252, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
default java version을 openjdk8로 전환합니다.
~/.bashrc
export JAVA_HOME=$(/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.8.0_252")
PATH=${JAVA_HOME}/bin:${PATH}
Android 기기에서 개발자 옵션을 사용하도록 설정하여 adb에 연결되어 있는지 확인합니다.
$ adb devices
List of devices attached
18f8de88 device
이제 실행 환경이 완성되었습니다.
monkeyrunner로 작업을 기록하고 실행 스크립트로 변환하고 실행
이 사이트에 쓰여진 대로 실행한다.
htps : // 이 m / 이코타 / ms / e f6bdb4, d6, b9, 912
$ /Users/xxx/Library/Android/sdk/tools/bin/monkeyrunner ~/run_monkeyrecoder.py
휴대폰 화면과 조작한 로그가 오른쪽에 표시되므로 테스트하려는 시나리오를 실행한 후,
Export Actions를 사용하여 작업 로그를 action_test.txt로 저장합니다.
방금 저장한 action_test.txt를 @ikota의 변환기 스크립트를 사용하여 실행 스크립트로 변환합니다.
$ python monkey_converter.py action_test.txt action_test.py
변환해 생긴 action_test.py를 monkeyrunner로 실행하면, 자동으로 방금전에 행한 조작을 할 수 있게 된다.
$ /Users/xxx/Library/Android/sdk/tools/bin/monkeyrunner ~/action_test.py
이상으로,
Mac OS에서 Monkey Runner를 사용하여 Android 기기의 제어를 자동화할 수 있었다.
Reference
이 문제에 관하여(monkeyrunner로 Android 자동화 테스트 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/daiki0321/items/fc288e05aee8e9807d65텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)