여는 말
안녕하세요. Dogu Technologies의 Henry에요. :)
지난 게시글에서는 Python 실행하기를 했는데, 보지 못하신 분들께서는 아래 링크를 클릭해 보실 수 있어요.
https://blog.dogutech.io/app-test-automation-tutorial-2/
Appium은 Android 에뮬레이터로 명령을 보내기 위한 도구에요.
그 중 Appium 서버를 실행하기 위해서 NodeJS, Java Development Kit, Android SDK 도구들이 필요해요.
NodeJS 설치하기
Appium 서버를 실행하기 위해서는 NodeJS라는 도구가 필요해요.
- https://nodejs.org/ko/download 사이트를 방문해주세요.
Windows Installer를 클릭해주세요.

- node-v18.18.0-x64.msi를 더블 클릭해주세요.

- Setup 창이 뜨면, Next 버튼을 클릭해주세요.

- 약관을 읽고 I accept the terms in the License Agreement를 체크해주세요.

- Next 버튼을 클릭해주세요.

- Next 버튼을 클릭해주세요.

- Next 버튼을 클릭해주세요.

- Next 버튼을 클릭해주세요.

- Install 버튼을 클릭해주세요.

- 설치를 기다려주세요. 5~10분 정도 소요돼요.

- Finish 버튼을 클릭해주세요.

NodeJS 설치를 완료했어요.
환경 변수 설정하기
Android Studio에 Java Development Kit과 Android SDK가 설치되어 있어요.
하지만 아직은 Appium 서버가 Java Development Kit과 Android SDK의 설치 위치를 알 수 없어요.
그래서 Appium 서버가 알 수 있도록 환경 변수를 설정할게요.
- 먼저 사용자 이름을 확인할게요.
powershell을 입력하고 Windows PowerShell을 클릭해주세요.

- $env:USERNAME을 입력하고 엔터를 입력해주세요.
아래 출력된 문장이 사용자 이름이에요. 저의 경우에는 hunho네요.

- 계정의 환경 변수 편집을 입력하고 클릭해 주세요.

- 환경 변수 창에서 위쪽 영역이 현재 사용자의 환경 변수들이에요.
오른쪽 스크롤을 올리고 내리면 화면에 보이지 않는 환경 변수도 확인할 수 있어요.

ANDROID_HOME 설정하기
- ANDROID_HOME이라는 변수가 만약 있다면, 일단 삭제할게요.
ANDROID_HOME 변수가 있는 곳을 클릭해주세요.
선택되어 파란색으로 바뀌었다면, 삭제 버튼을 클릭해주세요.

- 새로 만들기(N)... 버튼을 클릭해주세요.

- 변수 이름에 ANDROID_HOME을 입력해주세요.


- 변수 값은 아래 동영상을 보고 따라 선택해주세요.
정상적으로 선택되었다면, 아래 값처럼 생겼을거에요.
C:\Users\<사용자 이름>\AppData\Local\Android\Sdk
JAVA_HOME 설정하기
- JAVA_HOME이라는 변수가 만약 있다면, 일단 삭제할게요.
JAVA_HOME 변수가 있는 곳을 클릭해주세요.
선택되어 파란색으로 바뀌었다면, 삭제 버튼을 클릭해주세요.

- 새로 만들기(N)... 버튼을 클릭해주세요.

- 변수 이름에 JAVA_HOME을 입력해주세요.


- 변수 값은 아래 동영상을 보고 따라 선택해주세요.
정상적으로 선택되었다면, 아래 값처럼 생겼을거에요.
C:\Program Files\Android\Android Studio\jbr
환경 변수 설정을 완료했어요.
Appium 서버 실행하기
Appium 서버는 PowerShell에서 설치하고 실행해요.
- powershell을 입력하고 Windows PowerShell을 클릭해주세요.

- Appium 서버를 설치하기 전에 환경 변수 값을 확인할게요.
$env:ANDROID_HOME을 입력하고 엔터를 입력해주세요.
$env:JAVA_HOME을 입력하고 엔터를 입력해주세요.
아래처럼 위치가 출력될 거에요.
만약 위치가 출력되지 않는다면, 환경 변수 설정을 다시 확인해주세요.

- 마찬가지로, NodeJS가 정상적으로 설치됐는지 확인할게요.
node --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
npm --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
아래처럼 버전이 출력될 거에요.
만약 버전이 출력되지 않는다면, NodeJS 설치를 다시 확인해주세요.

- npm i --location=global appium을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.

- 설치는 5~10분 정도 소요될 수 있어요.
설치가 완료되면 PS C:\Users\<사용자 이름>>이 출력되고, 다시 입력을 할 수 있게 돼요.

- appium --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
만약 아래와 같이 에러가 발생한다면, 추가 설정을 진행할게요.

Appium 실행시 에러가 발생했을 때
- powershell을 입력하고 Windows PowerShell을 우클릭해 주세요.
그리고 관리자 권한으로 실행을 클릭해주세요.

- 창 이름이 관리자: Windows PowerShell으로 열렸을 거에요.
그리고 PS C:\Windows\system32>라고 써있을 거에요.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force를 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.

- PowerShell을 실행해주세요.

- appium --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
버전이 출력되지 않았다면 Appium 실행시 에러가 발생했을 때를 다시 확인해주세요.

- appium driver install uiautomator2을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
아래 초록색 영역과 같이 문장이 나오면, 정상적으로 설치가 됐다는 뜻이에요.
아래 노란색 영역과 같이 문장이 나오면, 예전에 설치한 적이 있다는 뜻이기 때문에, appium driver update uiautomator2을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.

- appium을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
아래와 같이 Available drivers 문장에 uiautomator2가 있다면, 정상적으로 실행된 거에요.

Appium 서버 실행을 완료했어요.
닫는 말
서버(serve + er)는 서비스(service)를 제공하는 사람이라는 뜻이에요.
서버를 이용하기 위해서는 클라이언트(client)가 필요해요.
마찬가지로 Appium 서버를 이용하기 위해서는 Appium 클라이언트가 필요해요.
Appium 클라이언트는 다음 게시물에서 다룰게요.
링크
Android Studio - https://developer.android.com/studio
Android SDK - https://developer.android.com/tools
Android 에뮬레이터 - https://developer.android.com/studio/run/emulator?hl=ko
Appium - https://appium.io/docs/en
Appium 서버 - https://appium.io/docs/en/2.1/quickstart/install/
Appium 클라이언트 (Python) - https://appium.io/docs/en/2.1/quickstart/test-py/
Python - https://docs.python.org/ko/3/tutorial/index.html
PowerShell - https://learn.microsoft.com/en-us/powershell/
NodeJS - https://nodejs.org/ko
Java Development Kit - https://en.wikipedia.org/wiki/Java_Development_Kit
Set-ExecutionPolicy - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy
환경 변수 - https://ko.wikipedia.org/wiki/환경_변수
serve - https://ko.wiktionary.org/wiki/serve
client - https://en.wikipedia.org/wiki/Client
