2022. 9. 13. 13:51ㆍQA
Mac OS 전용 JDK 설치 합니다.
저의 경우 M1맥북이기 때문에 Arm 으로 다운로드를 받았습니다.
- Arm 64 DMG Installer
설치를 완료한 후 설치가 제대로 되었는지 확인합니다.
java -version
.bash_profile에 JAVA_HOME 을 추가합니다.
sudo vim ~/.bash_profile
명령어 입력 후 맥북의 비밀번호를 입력하면 아래와 같이 파일이 생성됩니다.
이 문서에 아래 내용을 입력하고 저장합니다.
export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH
내용을 붙혀넣기한 후 ESC 를 한 번 누르고 :wq 를 입력해 저장합니다.
source ~/.bash_profile echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home
이제 source 명령어를 통해서 파일을 저장하고 echo 명령어를 통해
제대로 설정이 되었는지 확인할 수 있습니다.
source 명령어는 스크립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용하는 명령어이다.
출처: https://klero.tistory.com/entry/source-명령어란 [Pororo]
안드로이드 SDK 를 설치 합니다.
Android SDK 를 설치하기위해서 Android Studio 를 설치 합니다.
설치가 완료되었다면 다시 아래 명령어로 bash_profile 를 만듭니다.
sudo vim ~/.bash_profile
android SDK 를 환경변수 설정하기 위해 ANDROID_HOME 을 설정합니다.
Android Sdk 경로는 보통 아래에 위치합니다.
/Users/컴퓨터이름/Libaray/Android/sdk
* 만약 경로를 모른다면 ?
해당 경로로 직접 찾아간다음 터미널에서 pwd 를 입력하면 현재경로가 나옵니다.
순차적으로 따라왔다면 아마 저와 같이 JAVA_HOME 만 있을텐데
ANDROID_HOME 내용을 아래 내용을 추가해줍니다.
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export ANDROID_HOME=/Users/sunbaelee/Library/Android/sdk
export PATH=$ANDROID_HOME:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/emulator:$PATH
위에서와 같이 ESC 를 누르고 :wq 를 눌러 저장 후 아래 명령어를 입력합니다.
source ~/.bash_profile
echo $ANDROID_HOME
/Users/sunbaelee/Library/Android/sdk
Xcode 를 설치 합니다.
xcode는 애플의 앱스토어에서 설치할 수 있습니다.
이미 설치하신 분들도 있겠군요
Xcode를 실행 후 상단메뉴에서 Open Developer Tool > Simulator 를 실행합니다.
저는 iPhone 13 시뮬레이터이군요 ㅎ
다음은 homebrew 를 설치합니다.
- Homebrew : (https://brew.sh/index_ko.html)
맥북 터미널에 아래 명령어를 붙혀넣고 설치할 수 있습니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
만약 zsh: command not found: brew 라고 뜨는 경우 아래의 링크를 확인하면 됩니다.
다음은 xcode-select가 설치되어 있는지 확인 합니다.
p 명령어를 쳤을 때 아래와 같은 경로가 아니라면 아래 --reset 명령어로 초기화해주면 됩니다.
xcode-select -p /Applications/Xcode.app/Contents/Developer
* /Library/Developer/CommandLineTools 로 경로가 잘못지정되어있는 경우
sudo xcode-select --reset
저는 Appium-Server-GUI-1.22.0-mac.zip 를 다운로드하였습니다.
만약 보안문제 때문에 열리지 않는다면 Finder 에서 직접 열어줍니다.
파일을 우클릭하여 열어줍니다.
열기를 한 다음 Application Folder 로 Appium 을 옮겨주면 실행이 잘될 것 입니다.
보통은 Port 를 4723 을 사용하는 것 같습니다.
brew install
node npm install -g appium
npm install wd
appium
이제 모든 환경설정이 거의 끝났습니다.
마지막으로 Appium을 사용하기 위한 준비가 끝났는지 확인할 수 있는
Appium-doctor를 설치 합니다.
npm install -g appium-doctor
이제 appium-doctor 를 실행하면 뭐가 설정안되어있는지 확인할 수 있습니다.
appium-doctor
info AppiumDoctor Appium Doctor v.1.16.0
info AppiumDoctor ### Diagnostic for necessary dependencies starting ###
info AppiumDoctor ✔ The Node.js binary was found at: /opt/homebrew/bin/node
info AppiumDoctor ✔ Node version is 17.4.0
info AppiumDoctor ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor ✔ Xcode Command Line Tools are installed in: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor ✔ DevToolsSecurity is enabled.
info AppiumDoctor ✔ The Authorization DB is set up properly.
WARN AppiumDoctor ✖ Carthage was NOT found!
info AppiumDoctor ✔ HOME is set to: /Users/sunbaelee
info AppiumDoctor ✔ ANDROID_HOME is set to: /Users/sunbaelee/Library/Android/sdk
info AppiumDoctor ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home
info AppiumDoctor Checking adb, android, emulator
info AppiumDoctor 'adb' is in /Users/sunbaelee/Library/Android/sdk/platform-tools/adb
info AppiumDoctor 'android' is in /Users/sunbaelee/Library/Android/sdk/tools/android
info AppiumDoctor 'emulator' is in /Users/sunbaelee/Library/Android/sdk/emulator/emulator
info AppiumDoctor ✔ adb, android, emulator exist: /Users/sunbaelee/Library/Android/sdk
info AppiumDoctor ✔ 'bin' subfolder exists under '/Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home'
info AppiumDoctor ### Diagnostic for necessary dependencies completed, one fix needed. ###
info AppiumDoctor
info AppiumDoctor ### Diagnostic for optional dependencies starting ###
WARN AppiumDoctor ✖ opencv4nodejs cannot be found.
WARN AppiumDoctor ✖ ffmpeg cannot be found
WARN AppiumDoctor ✖ mjpeg-consumer cannot be found.
WARN AppiumDoctor ✖ set-simulator-location is not installed
WARN AppiumDoctor ✖ idb and idb_companion are not installed
WARN AppiumDoctor ✖ applesimutils cannot be found
WARN AppiumDoctor ✖ ios-deploy cannot be found
WARN AppiumDoctor ✖ bundletool.jar cannot be found
WARN AppiumDoctor ✖ gst-launch-1.0 and/or gst-inspect-1.0 cannot be found
info AppiumDoctor ### Diagnostic for optional dependencies completed, 9 fixes possible. ###
info AppiumDoctor
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor ➜ [For lower than Appium 1.20.0] Please install Carthage. Visit https://github.com/Carthage/Carthage#installing-carthage for more information.
info AppiumDoctor
info AppiumDoctor ### Optional Manual Fixes ###
info AppiumDoctor The configuration can install optionally. Please do the following manually:
WARN AppiumDoctor ➜ Why opencv4nodejs is needed and how to install it: https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/image-comparison.md
WARN AppiumDoctor ➜ ffmpeg is needed to record screen features. Please read https://www.ffmpeg.org/ to install it
WARN AppiumDoctor ➜ mjpeg-consumer module is required to use MJPEG-over-HTTP features. Please install it with 'npm i -g mjpeg-consumer'.
WARN AppiumDoctor ➜ set-simulator-location is needed to set location for Simulator. Please read https://github.com/lyft/set-simulator-location to install it
WARN AppiumDoctor ➜ Why idb is needed and how to install it: https://github.com/appium/appium-idb
WARN AppiumDoctor ➜ Why applesimutils is needed and how to install it: http://appium.io/docs/en/drivers/ios-xcuitest/
WARN AppiumDoctor ➜ ios-deploy is used as a fallback command to install iOS applications to real device. Please read https://github.com/ios-control/ios-deploy/ to install it
WARN AppiumDoctor ➜ bundletool.jar is used to handle Android App Bundle. Please read http://appium.io/docs/en/writing-running-appium/android/android-appbundle/ to install it
WARN AppiumDoctor ➜ gst-launch-1.0 and gst-inspect-1.0 are used to stream the screen of the device under test. Please read https://appium.io/docs/en/writing-running-appium/android/android-screen-streaming/ to install them and for more details
info AppiumDoctor
info AppiumDoctor ###
info AppiumDoctor
info AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been applied!
info AppiumDoctor
저는 아직 Carthage 가 설치되어있지 않다고 하네요
기타 Warnning 에 대한 부분도 몇가지 설치를 합니다.
WARN AppiumDoctor ✖ opencv4nodejs cannot be found.
WARN AppiumDoctor ✖ ffmpeg cannot be found
WARN AppiumDoctor ✖ mjpeg-consumer cannot be found.
WARN AppiumDoctor ✖ set-simulator-location is not installed
WARN AppiumDoctor ✖ idb and idb_companion are not installed
WARN AppiumDoctor ✖ applesimutils cannot be found
WARN AppiumDoctor ✖ ios-deploy cannot be found
WARN AppiumDoctor ✖ bundletool.jar cannot be found
WARN AppiumDoctor ✖ gst-launch-1.0 and/or gst-inspect-1.0 cannot be found
carthage 를 설치합니다.
brew install carthage
libimobiledevice 를 설치합니다.
* libimobiledevice 란
A cross-patform protocol libaray to access iOS devices
* --HEAD tag를 쓰는 이유는 최신 커밋을 가져오기 위함
brew install libimobiledevice --HEAD
iOS-deploy 를 설치합니다.
* iOS 10 이상 버전에서의 테스트를 위한 설치라고 합니다.
npm install -g ios-deploy
이상으로 서버 세팅은 완료되었습니다.
2022. 06. 04 추가
만약 위의 세팅을 모두 완료 하였는데 appium-doctor 에서 경로를 인식못한다면
vim ~/.zshrc
진입 후 아래 내용을 똑같이 붙혀넣고 저장을 합니다.
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export ANDROID_HOME=/Users/sunbaelee/Library/Android/sdk
export PATH=$ANDROID_HOME:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/emulator:$PATH
'QA' 카테고리의 다른 글
[QA] NotionAPI to SlackAPI 긁어서 파이썬으로 슬랙 주기적으로 보내기 with PythonAnywhere (0) | 2023.06.29 |
---|---|
Appium 이미지 인식 후 버튼 클릭 python (pyautoGUI) (0) | 2022.10.06 |
(QA) AWS Device Farm Python을 이용하여 Appium 원격 자동화 (0) | 2022.09.20 |
셀레니움 화면에 찾는게 있는지 없는지 체크하는 법 (how to check element is present or not in selenium) (0) | 2022.09.06 |
C# 원하는 비율대로 특정 문자를 배치하기 (0) | 2021.10.21 |