여는 말

안녕하세요. Dogu Technologies의 Henry에요. :)

지난 게시글에서는 Python 실행하기를 했는데, 보지 못하신 분들께서는 아래 링크를 클릭해 보실 수 있어요.
https://blog.dogutech.io/app-test-automation-tutorial-2/

AppiumAndroid 에뮬레이터로 명령을 보내기 위한 도구에요.

graph LR; A(명령) --> B(Appium) B --> C(Android 에뮬레이터)

그 중 Appium 서버를 실행하기 위해서 NodeJS, Java Development Kit, Android SDK 도구들이 필요해요.

💡
아래 가이드는 Windows 11 운영체제를 바탕으로 작성되었어요.

NodeJS 설치하기

Appium 서버를 실행하기 위해서는 NodeJS라는 도구가 필요해요.

Windows Installer 클릭
  • node-v18.18.0-x64.msi를 더블 클릭해주세요.
node-v18.18.0-x64.msi 더블 클릭하기
  • Setup 창이 뜨면, Next 버튼을 클릭해주세요.
Next 버튼 클릭하기
  • 약관을 읽고 I accept the terms in the License Agreement를 체크해주세요.
I accept the terms in the License Agreement 체크하기
  • Next 버튼을 클릭해주세요.
Next 버튼 클릭하기
  • Next 버튼을 클릭해주세요.
Next 버튼 클릭하기
  • Next 버튼을 클릭해주세요.
Next 버튼 클릭하기
  • Next 버튼을 클릭해주세요.
Next 버튼 클릭하기
  • Install 버튼을 클릭해주세요.
Install 버튼 클릭하기
  • 설치를 기다려주세요. 5~10분 정도 소요돼요.
설치 기다리기
  • Finish 버튼을 클릭해주세요.
Finish 버튼 클릭하기

NodeJS 설치를 완료했어요.

환경 변수 설정하기

Android StudioJava Development KitAndroid SDK가 설치되어 있어요.
하지만 아직은 Appium 서버가 Java Development Kit과 Android SDK의 설치 위치를 알 수 없어요.
그래서 Appium 서버가 알 수 있도록 환경 변수를 설정할게요.

  • 먼저 사용자 이름을 확인할게요.
    powershell을 입력하고 Windows PowerShell을 클릭해주세요.
powershell 실행하기
  • $env:USERNAME을 입력하고 엔터를 입력해주세요.
    아래 출력된 문장이 사용자 이름이에요. 저의 경우에는 hunho네요.
사용자 이름 확인하기
  • 계정의 환경 변수 편집을 입력하고 클릭해 주세요.
환경 변수 설정 창 열기
  • 환경 변수 창에서 위쪽 영역이 현재 사용자의 환경 변수들이에요.
    오른쪽 스크롤을 올리고 내리면 화면에 보이지 않는 환경 변수도 확인할 수 있어요.
환경 변수 설정 창

ANDROID_HOME 설정하기

  • ANDROID_HOME이라는 변수가 만약 있다면, 일단 삭제할게요.
    ANDROID_HOME 변수가 있는 곳을 클릭해주세요.
    선택되어 파란색으로 바뀌었다면, 삭제 버튼을 클릭해주세요.
ANDROID_HOME 환경 변수 삭제하기
  • 새로 만들기(N)... 버튼을 클릭해주세요.
새로 만들기 버튼 클릭하기
  • 변수 이름ANDROID_HOME을 입력해주세요.
변수 이름 입력칸 확인하기
ANDROID_HOME 변수 이름 입력하기
  • 변수 값은 아래 동영상을 보고 따라 선택해주세요.
    정상적으로 선택되었다면, 아래 값처럼 생겼을거에요.
C:\Users\<사용자 이름>\AppData\Local\Android\Sdk
ANDROID_HOME 환경 변수 값
0:00
/
ANDROID_HOME 변수 값 선택하기

JAVA_HOME 설정하기

  • JAVA_HOME이라는 변수가 만약 있다면, 일단 삭제할게요.
    JAVA_HOME 변수가 있는 곳을 클릭해주세요.
    선택되어 파란색으로 바뀌었다면, 삭제 버튼을 클릭해주세요.
JAVA_HOME 환경 변수 삭제하기
  • 새로 만들기(N)... 버튼을 클릭해주세요.
새로 만들기 버튼 클릭하기
  • 변수 이름JAVA_HOME을 입력해주세요.
변수 이름 입력칸 확인하기
JAVA_HOME 입력하기
  • 변수 값은 아래 동영상을 보고 따라 선택해주세요.
    정상적으로 선택되었다면, 아래 값처럼 생겼을거에요.
C:\Program Files\Android\Android Studio\jbr
JAVA_HOME 환경 변수 값
0:00
/
JAVA_HOME 환경 변수 값 선택하기

환경 변수 설정을 완료했어요.

Appium 서버 실행하기

Appium 서버PowerShell에서 설치하고 실행해요.

  • powershell을 입력하고 Windows PowerShell을 클릭해주세요.
PowerShell 실행하기
  • Appium 서버를 설치하기 전에 환경 변수 값을 확인할게요.
    $env:ANDROID_HOME을 입력하고 엔터를 입력해주세요.
    $env:JAVA_HOME을 입력하고 엔터를 입력해주세요.
    아래처럼 위치가 출력될 거에요.
    만약 위치가 출력되지 않는다면, 환경 변수 설정을 다시 확인해주세요.
환경 변수 값 확인하기
  • 마찬가지로, NodeJS가 정상적으로 설치됐는지 확인할게요.
    node --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
    npm --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
    아래처럼 버전이 출력될 거에요.
    만약 버전이 출력되지 않는다면, NodeJS 설치를 다시 확인해주세요.
node와 npm 확인하기
  • npm i --location=global appium을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
Appium 설치하기
  • 설치는 5~10분 정도 소요될 수 있어요.
    설치가 완료되면 PS C:\Users\<사용자 이름>>이 출력되고, 다시 입력을 할 수 있게 돼요.
Appium 설치 완료 확인하기
  • appium --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
    만약 아래와 같이 에러가 발생한다면, 추가 설정을 진행할게요.
Appium 실행 확인하기

Appium 실행시 에러가 발생했을 때

  • powershell을 입력하고 Windows PowerShell을 우클릭해 주세요.
    그리고 관리자 권한으로 실행을 클릭해주세요.
PowerShell 관리자 권한으로 실행하기
  • 창 이름이 관리자: Windows PowerShell으로 열렸을 거에요.
    그리고 PS C:\Windows\system32>라고 써있을 거에요.
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force를 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
Set-ExecutionPolicy 적용하기
  • PowerShell을 실행해주세요.
PowerShell 실행하기
  • appium --version을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
    버전이 출력되지 않았다면 Appium 실행시 에러가 발생했을 때를 다시 확인해주세요.
Appium 실행 확인하기
  • appium driver install uiautomator2을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
    아래 초록색 영역과 같이 문장이 나오면, 정상적으로 설치가 됐다는 뜻이에요.
    아래 노란색 영역과 같이 문장이 나오면, 예전에 설치한 적이 있다는 뜻이기 때문에, appium driver update uiautomator2을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
uiautomator2 설치하기
  • appium을 (중간에 띄어쓰기가 있어요.) 입력하고 엔터를 입력해주세요.
    아래와 같이 Available drivers 문장에 uiautomator2가 있다면, 정상적으로 실행된 거에요.
Appium 서버 실행 확인하기

Appium 서버 실행을 완료했어요.

닫는 말

서버(serve + er)는 서비스(service)를 제공하는 사람이라는 뜻이에요.
서버를 이용하기 위해서는 클라이언트(client)가 필요해요.

graph LR; A(서비스 이용자 / 고객 / 클라이언트) --> B(서비스 제공자 / 서버)

마찬가지로 Appium 서버를 이용하기 위해서는 Appium 클라이언트가 필요해요.

graph LR; A(명령) --> B(Appium 클라이언트) B --> C(Appium 서버) C --> D(Android 에뮬레이터)

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

Dogu - Cloud-Based Testing Platform for Web, Mobile Apps, and Games
Revolutionize your testing workflow with our Testing Platform. Use Dogu and optimize your software quality assurance.