UI 테스트 자동화 - Appium으로 가상 디바이스 실행하기

Soyean·2022년 11월 29일
0

Appium 

목록 보기
2/4
post-thumbnail

UI 테스트 자동화 - 사전 세팅 을 통해 Appium / Android studio / JAVA / 환경 설정 완료된 이후 진행했습니다.

Appium으로 실제 디바이스를 미러링하기 이전에 가상 디바이스를 실행해보려고 합니다.

1. 가상 Android 장치 생성

Android Studio를 사용하여 가상 Android 장치를 생성할 수 있습니다.

1) Android Studio 실행> Virtual Device Manager 클릭합니다.

2) Create device 클릭하여 emulated device 생성합니다. ( 이어진 화면에서는 디바이스 / Android 버전을 원하는 것으로 선택하면 된다. )

저는 디바이스 모델: 픽셀 3a, Android 버전:안드로이드 S로 설정된 디바이스를 사용했습니다.(Pixel_3a_API_31) 생성한 디바이스 정보를 기억하고 있어야 합니다!

2. Appium Server GUI 실행

Appium > startServer 버튼을 클릭합니다.

The server is running 이 상단 노출되면 오류 없이 정상 실행된 상태입니다.

3. Appium Inspector 서버 설정

Appium Inspector 실행 시 default로 Custom Server tab이 선택되어 있습니다.
Remote Host/Port는 기본적으로 localhost를 사용하지만 원하는 경우 변경할 수 있습니다. 특별하게 변경을 원하지 않는 경우는 아래처럼 입력해주면 됩니다

  • Remote Host: 127.0.0.1
    Remote Path: /wd/hub
    Remote Port: 4723

Appium은 HTTP 요청을 통해 작동하며 Json 파일 형식을 사용하여 메시지를 송수신합니다. 이를 위해 Desired Capabilities을 작성해야 하는데 Desired Capabilities은 실제 실행할 디바이스 / 자동화할 대상을 설정하는 영역입니다.
왼쪽 텍스트 형식의 입력 필드를 통해 입력 / JSON 포맷으로 즉시 입력할 수 있습니다.

Desired Capabilities
자세한 사항은 공식 문서를 통해 확인할 수 있습니다. > Appium Desired Capabilities

  • platformName : 사용하는 플랫폼의 이름 ( Android, Windows 또는 iOS )
  • platformVersion : 모바일 OS 버전
  • deviceName : 사용하는 모바일 디바이스 또는 에뮬레이터의 종류 ( adb devices 실행했을 때 노출되는 디바이스 이름 )
  • app : 실행할 apk 경로
  • browserName : 자동화할 모바일 웹 브라우저 이름.앱을 자동화하는 경우 빈 문자열 (iOS용 'Safari' 및 Android용 'Chrome', 'Chromium' 또는 'Browser')
  • avd : 실행할 avd 이름

테스트 앱으로는 appium 에서 제공하는 TEST APK 를 사용했습니다. ( ApiDemos-debug.apk 에서 apk 다운로드 )
app 없이 디바이스만 실행할 예정이라면 platformName / avd만 입력하면 되지만 저는 테스트 앱을 실행하기 위해 app 필드도 추가했습니다.

JSON Representation

{
  "platformName": "Android", 			 
  "appium:avd": "Pixel_3a_API_31", 								> 위의 1번 단계에서 생성한 디바이스 명 
  "appium:app": "/Users/user/Desktop/Study/ApiDemos-debug.apk"  > apk 저장된 경로 
}

Appium 실행된 상태에서 위 JSON 입력 후 Start Session 클릭 시, 별다른 이슈가 없다면 정상적으로 Android Emulator 가 실행됩니다.

참고 :
https://github.com/clarabez/appium-en
http://appium.io/docs/en/writing-running-appium/caps/
https://appium.io/docs/en/about-appium/getting-started/?lang=en
https://appium.io/docs/en/2.0/quickstart/

profile
주니어 QA 🐥

0개의 댓글