don't stop believing

Appium 서버 구성 (on Mac) 본문

Testing Automation/Appium

Appium 서버 구성 (on Mac)

Tongchun 2017. 10. 19. 15:57

자동화 테스트를 위한 Appium 환경구축을 해보겠습니다.

Android와 iOS를 대상으로 하기 때문에 Mac에 환경 구축을 해보겠습니다.


우선 JDK를 설치합니다.

아래 Oracle에 가서 MacOS용 JDK를 다운로드 받습니다.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

JDK가 설치되었다면 버전을 확인해 봅니다.

$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

.bash_profile에 JAVA_HOME을 추가해 줍니다.

$ sudo vim ~/.bash_profile

java home 경로를 추가합니다.

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH

저장 후 source로 적용해주고 제대로 적용되었는지 echo로 불러 확인해 봅니다.

$ source ~/.bash_profile
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

이번엔 Android 실행을 위해 Android SDK를 설치합니다.

Android SDK는 Android Studio 설치로 하겠습니다.

아래 url에서 Android Studio를 다운로드 하고 설치 합니다.

https://developer.android.com/studio/index.html

Android Studio가 설치되었다면 .bash_profile에 android home을 추가해 줍니다.

$ sudo vim ~/.bash_profile

android sdk는 /Users/<User Name>/Library/Android/sdk에 있습니다.

해당 경로 확인 후 .bash_profile에 추가합니다.

export ANDROID_HOME=/Users/appium/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

저장 후 source로 적용하고 echo로 확인해 줍니다.

$ source ~/.bash_profile
$ echo $ANDROID_HOME
/Users/appium/Library/Android/sdk

xCode도 설치해 줍니다. app store에서 다운받을 수 있습니다.

xCode 설치 설명은 생략하겠습니다.

Xcode가 설치되었다면 Simulator가 실행되는지 확인해 줍니다.

Xcode 상단 메뉴에서 Xcode > Open Developer Tool > Simulator를 클릭해 Simulator가 실행되는지 확인합니다.

Simulator의 Device 하드웨어 변경은 Simulator 상단 메뉴의 Hardware > Device > iOS에서 선택할 수 있습니다.


이번엔 Homebrew와 Xcode의 Command Lines Tools을 설치합니다.

먼저 Homebrew가 설치되지 않았다면 설치합니다.

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

만약 ruby 명령이 실행되지 않는다면 .bash_profile에 export PATH=/usr/local/bin:$PATH 가 추가되어 있는지 확인합니다.

[Homebrew 설치]를 참고하세요.


그리고 xcode 개발도구인 xcode-select가 설치되어 있는지 확인합니다. Xcode를 설치하면 자동으로 설치가 됩니다.

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer


이제 Appium을 설치해 봅시다.

Appium은 Application 설치로 실행될수도 있고 Command Line Tools로도 제공됩니다.


먼저 Applicaiton 설치입니다.

Appium.io에서 Mac 버전을 다운로드 합니다.

현재 버전은 1.2.4네요.

appium-desktop-1.2.4-mac.zip을 다운받고 압축을 해제합니다. appium을 실행해 봅니다.

실행이 잘 된다면 appium 실행파일을 응용 프로그램(Application)폴더에 이동시킵니다.

이번엔 Appium Command Line을 설치해 보겠습니다.

appium 홈페이지에서 Easy setup process, run a test now 밑의 명령어들로 설치 및 실행할 수 있습니다.

$ brew install node
$ npm install -g appium
$ npm install wd
$ appium &


Appium Command Line까지 실행되었다면 Appium-doctor로 구성요소를 확인해 봅시다.

우선 npm으로 appium-doctor를 설치합니다.

$ npm install -g appium-doctor

appium-doctor를 실행하면 구성 요서에 대한 정보가 나옵니다.

$ appium-doctor
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Node version is 6.11.4
info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor  ✔ Xcode Command Line Tools are installed.
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
info AppiumDoctor  ✔ Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor  ✔ HOME is set to: /Users/appium
info AppiumDoctor  ✔ ANDROID_HOME is set to: /Users/appium/Library/Android/sdk
info AppiumDoctor  ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
info AppiumDoctor  ✔ adb exists at: /Users/appium/Library/Android/sdk/platform-tools/adb
info AppiumDoctor  ✔ android exists at: /Users/appium/Library/Android/sdk/tools/android
info AppiumDoctor  ✔ emulator exists at: /Users/appium/Library/Android/sdk/tools/emulator
info AppiumDoctor  ✔ Bin directory of $JAVA_HOME is set
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor

만약 Warning이 나온다면 메시지의 내용을 확인 해 줍니다.


지금까지 구성한 것으로 Simulator에서 실행은 가능하지만 real device에서 실행하려면 아래 내용을 추가해 줘야 합니다.

관련 설명은 아래 url을 확인해 주세요.

[https://appium.readthedocs.io/en/stable/en/appium-setup/real-devices-ios/]



먼저 libimobiledevice를 설치합니다.

$ brew install libimobiledevice --HEAD

그리고 Facebook의 WebDriverAgent를 사용하기 위해 carthage를 설치합니다.

$ brew install carthage

iOS10 이상의 버전을 테스트한다면 ios-deploy 를 설치합니다.

$ npm install -g ios-deploy

iOS9 이하의 버전을 테스트 한다면 ideviceinstaller를 설치하면 됩니다. 하지만 ios-deploy와 ideviceinstaller 둘 다 설치되었다면 ideviceinstaller가 인식되며 iOS10을 테스트할때 에러가 발생할 수 있습니다.

$ brew install ideviceinstaller


만약 ios-deploy 설치하면서 아래와 같은 에러가 나온다면 xcode-select의 결로를 변경해 줘야 합니다.

stderr: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

먼저 xcode가 /Application 하위에 위치하는제 확인합니다. (/Application/Xcode.app) Xcode.app가 있다면 xcode-select의 경로를 아래와 같이 변경합니다

$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

그리고 다시 ios-deploy를 설치합니다.


마지막으로 xcpretty를 설치합니다.

$ sudo gem install xcpretty

이제 Appium 서버 구성과 iOS App을 실행시키기 위한 준비는 모두 완료되었습니다.

Comments