본문 바로가기
QA 테스트 자동화

Appium 기초 프로그램 실행 환경 구성 및 간단 예제 코드 실행

by QA Engineer 2025. 5. 28.

Appium 기초 프로그램 실행 환경 구성 및 간단 예제 코드 실행

Appium으로 Android 에뮬레이터에서 로그인 버튼 클릭 같은 간단한 예제 테스트 코드를 실행해본다.


1단계: 필수 프로그램 설치

  • Node.js 설치(Appium 실행에 필요): Nodejs 설치 후 확인하는 코드 'node -v', 'npm -v'
  • Appium 설치: 'npm install -g appium', 확인: 'appium -v'
  • Appium Inspector 설치(GUI 도구, 선택): Appium Inspector GitHub에서 최신 버전 설치
  • Anroid Studio 설치(Android SDK 포함): 설치 후 Android SDK, SDK Tools, Android Virtual Device(AVD) 꼭 설치

2단계: Android 에뮬레이터 준비

Anroid Studio에서

  1. AVD Manager 열기
  2. 디바이스 생성(Pixel 4, Android 11 등 선택)
  3. 에뮬레이터 실행

3단계: 테스트 대상 앱 준비

간단한 .apk 파일이 필요하다. 직접 만든 앱이나 API Demos 앱을 사용한다.

4단계: 테스트 코드 작성

  • Python 설치 - 이미 설치되어 있으므로 생략.
  • Appium용 Python 라이브러리 설치: 'pip install Appium-Python-Client'
  • 테스트 코드 작성

test_appium.py

 

from appium import webdriver
from time import sleep

desired_caps = {
    "platformName": "Android",
    "platformVersion": "11",  # 에뮬레이터에 맞게 조정
    "deviceName": "emulator-5554",  # adb devices로 확인 가능
    "app": "C:/경로/ApiDemos-debug.apk",
    "automationName": "UiAutomator2"
}

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

sleep(5)
el = driver.find_element(by='accessibility id', value='App')
el.click()

sleep(2)
driver.quit()

5단계: 테스트 실행

  1. 에뮬레이터 실행
  2. Appium 서버 실행(CLI): 'appium --log level info'
  3. Python 스크립트 실행: python test_appium.py
  4. 앱이 열리고 App 메뉴를 클릭하는 동작을 확인

6단계: 문제 해결 팁

  • Appium 서버 연결 실패: appium 서버가 정상적으로 실행되었는지 확인
  • 디바이스 인식이 안됨: adb devices로 확인, 에뮬레이터 실행 여부 확인
  • 앱 설치 실패: APK 경로, 플랫폼 버전이 맞는지 확인
  • element 못찾음: Appium Inspector로 accessibility id 확인

실행 단계에서 테스트 코드가 실행되지 않은 케이스

케이스 1 - Unsupported engine

  • 문제: Nodejs 버전이 하위 버전이라서 Appium이랑 호환되지 않음
  • 해결: Nodejs를 재설치해서 해결

케이스2 - ConnectionRefusedError: {WinError 10061} 127.0.0.1:4723 에 연결을 시도했지만 거부됨

  • 문제: Appium 서버가 켜져있지 않아서 Python 코드 실행이 실패함
  • 해결: Appium 서버 실행

케이스3 - No drivers have been installed

  • 문제: 자동으로 사용할 드라이버(예: uiautomator2 등)이 설치되어 있지 않아서 디바이스나 에뮬레이터를 제어할 수 없음
  • 해결: 사용할 드라이버 설치하기: '- appium driver install uiautomator2', 설치 확인: '- appium driver list --installed'

케이스4 - Unable to find an active device or emulator with OS 15.0. The following are available: emulator-5554 (16)

  • 문제: 테스트 스크립트에서 platformVersion을 "15.0"으로 지정을 했는데, 실제 연결된 에뮬레이터는 "16" 버전이라서 일치하는 기기를 찾지 못함
  • 해결: desired_capabilities (또는 options)에서 platformVersion을 실제 에뮬레이터 버전(16)으로 수정

케이스5 - INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 24, but found 19

  • 문제: 에뮬레이터는 최소 SDK 24 이상을 요구하고 있는데 현재 APK는 targetSdkVersion 19로 빌드되어 있어서 설치에 실패
  • 해결: targetSdkVesion 24 이상인 APK로 교체