🗳️ QA의 모바일 자동화를 위한 개발환경
🏁 시작하기
모바일 개발환경 및 테스트 환경은, iOS가 포함되지 않는 상황이 아니고선 macOS가 필수가 된다. 대부분의 개발 환경은 처음 셋업하고서는 크게 확인하거나 건드릴 일이 없지만, CI 환경을 구축할때 미리 정리해서 알아두면 좋다.
🍺 Homebrew
macOS용 패키지 관리자이다. 홈브루를 설치해놓으면, 여러 어플리케이션을 command line에서 손쉽게 설치할 수 있다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update && brew doctor
📦 Java & Node
왠만한 환경에서 많이 쓰이는 Java와 Node도 홈브루를 이용하여 설치 가능하다.
# Java
brew tap caskroom/versions
brew cask install adoptopenjdk8
# NodeJS
brew install node
🤖 Android
Android 환경을 셋업하기 위한 패키지들이다. 실제 개발환경에서는 Android Studio를 설치하면, 훨씬 더 수월하다.
brew install gradle
brew cask install android-sdk
brew cask install android-ndk
sdkmanager "tools" "platform-tools" "emulator" "build-tools;29.0.2" "platforms;android-29" "platforms;android-28" "extras;android;m2repository" "system-images;android-28;google_apis;x86" "extras;intel;Hardware_Accelerated_Execution_Manager"
touch ~/.android/repositories.cfg
yes | sdkmanager --licenses && yes | sdkmanager --update
# 안드로이드 Emulator 생성하기
$ANDROID_HOME/tools/bin/avdmanager -s create avd -f -n Pixel_XL_API_28 -b google_apis/x86 -k 'system-images;android-28;google_apis;x86' -d 'pixel_xl'
🤖 iOS
iOS 환경은 매우 단순하다. Xcode 설치 하나면 끝.
📱 Appium
다음 패키지들은 Appium과 그와 관련된 것들로, 단순 시뮬레이터가 아닌 실제 디바이스 테스트 환경을 구축하는데에 필요한 Dependency들이 포함되어 있다.
brew install carthage
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
brew tap wix/brew && brew install applesimutils
brew tap facebook/fb && brew install fbsimctl --HEAD
brew install libimobiledevice
npm install -g appium
npm install -g appium-doctor
appium-doctor
# 이미지 비교분석을 위한 Dependency - https://github.com/appium/appium/blob/cdfd8fabfc28c03f7be418945a0ae6b95092c504/docs/en/writing-running-appium/image-comparison.md
brew install cmake && npm install -g opencv4nodejs
# 화면녹화를 위한 Dependency - https://github.com/appium/appium/blob/e1f404c1a0ae430a219f2a3cc080122b82261aac/docs/en/commands/device/recording-screen/start-recording-screen.md
brew install ffmpeg
🪟 Terminal
터미널, command line을 많이 사용하게 되기 때문에, 필요한 정보들을 보기 쉽게 정리해주면 좋다. 또한 Environment variable도 셋업해주면, 추후 패키지 설치 및 이용이 수월해진다.
~/.bash_profile
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
full_path() {
pwd
}
export PS1="\[\033[33m\]\u\[\033[37m\]@\[\033[32m\]\h \[\033[39m\]\$(full_path)\[\033[35m\]\$(parse_git_branch)\[\033[00m\] $ "
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export ANDROID_HOME=/Users/<USERNAME>/Library/Android/sdk // (or /usr/local/share/android-sdk)
export ANDROID_SDK_ROOT=/Users/<USERNAME>/Library/Android/sdk // (or /usr/local/share/android-sdk)
export ANDROID_NDK_HOME=/usr/local/share/android-ndk
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$PATH:$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$JAVA_HOME/bin
파일 생성 및 입력 후, 재시작 혹은 source ~/.bash_profile 을 실행시, command line이 다음과 같이 예뻐보일 수 있다.
<USERNAME>@Steve-Macbook-Pro /Users/<USERNAME>/git-project (master) $
🔑 SSH Key
Git 사용시 계정이 2FA가 적용이 되어있다면, command line에서 매번 로그인 하는것이 어렵다. 한번 로컬에 Key를 셋업해주면, 추후 이러한 불편함이 없어진다. 다음 페이지의 Instruction을 따라하면 된다.
mkdir -p ~/.ssh && cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C "<내 계정 이메일 주소>"
pbcopy < ~/.ssh/id_rsa.pub
'👨🏻💻 QA이야기 > 📱 모바일자동화' 카테고리의 다른 글
Kotlin으로 ☕ Espresso UI 테스트 기반 잘 다지는 법 #1 - 테스트 케이스 (0) | 2020.04.12 |
---|---|
Swift로 🍏 UI XCTest 기반 잘 다지는 법 #2 - Action (0) | 2020.04.04 |
Swift로 🍏 UI XCTest 기반 잘 다지는 법 #1 - 테스트 케이스 (0) | 2020.04.04 |
🥒 Cucumber 이해하고 잘 쓰는 방법 (0) | 2020.04.03 |
Appium + Kotlin = 🚀 (2) | 2020.03.31 |
댓글
이 글 공유하기
다른 글
-
Swift로 🍏 UI XCTest 기반 잘 다지는 법 #2 - Action
Swift로 🍏 UI XCTest 기반 잘 다지는 법 #2 - Action
2020.04.04 -
Swift로 🍏 UI XCTest 기반 잘 다지는 법 #1 - 테스트 케이스
Swift로 🍏 UI XCTest 기반 잘 다지는 법 #1 - 테스트 케이스
2020.04.04 -
🥒 Cucumber 이해하고 잘 쓰는 방법
🥒 Cucumber 이해하고 잘 쓰는 방법
2020.04.03 -
Appium + Kotlin = 🚀
Appium + Kotlin = 🚀
2020.03.31