본문 바로가기
Automation

테스트 자동화: Appium Inspector로 모바일 앱 실행하기

by codeflow 2024. 4. 7.

모바일 테스트 자동화를 목적으로 Appium을 통해 테스트 스크립트를 작성하려면 먼저 Appium Inspector와 친숙해져야 합니다. 테스트 자동화에서는 화면에 있는 특정 요소(element)인 버튼이나 텍스트 인풋박스, 드롭박스를 선택(click)하거나 텍스트를 입력(input)하는 행위를 수행하기 위해서 프로그래밍 언어로 테스트 스크립트를 작성합니다. 이 테스트 스크립트를 작성하기 위해서 화면에서 사용할 요소 정보가 필요한데 이 때 네이티브 앱이라면 Appium Inspector를 사용합니다. 자세한 사용 방법을 알아보기 앞서 이번 편에서는 Appium Insepector를 설치하고, 맥에서 Appium Inspector를 통해 모바일 앱을 실행하는 방법을 알아보겠습니다.

사전 조건

Appium Inspector를 실행하기 위한 사전 조건으로는 Appium 2.0 이상 버전 설치 및 설정, Android Studio 설치 및 Path 설정, iOS 기기에 WDA 설치가 필요합니다. 이 과정 진행이 필요하다면 이전에 발행한 아래 글을 참고해주세요 👉

2023.11.25 - [Automation] - 테스트 자동화: Appium으로 모바일 테스트 자동화 환경 구축하기

Appium Inspector 설치하기

 

Appium Inspector는 이렇게 생겼습니다. 모바일 앱이 구동되면 각 화면에서 선택한 요소에 대해 Selected Element에서 해당 요소를 선택할 수 있는 Selector를 보여줍니다. 테스트 스크립트에서는 원하는 요소를 선택하기 위해 이 정보를 활용하게 됩니다. 

Appium Inspector를 설치하기 위해서는 https://github.com/appium/appium-inspector/releases에 들어가서 최신 버전을 다운로드 받아 설치해주면 됩니다. 그리고 실행 시에는 appium을 먼저 실행해두고, 모바일 기기를 연결해 안드로이드 기준으로 개발자 모드에서 USB 연결을 허용해 둔 상태로 맥과 연결해두면 됩니다.

Android 앱 실행하기

Android 앱 실행 테스트를 위해 Appium 저장소(https://github.com/appium/appium/tree/master/packages/appium/sample-code/apps)에서 테스트 앱을 다운로드 받아둡니다. 다운로드 폴더에 apk 파일이 저장되어 있다는 가정 하에 Appium Inspector를 실행해 Desired Capabilities에 아래와 같이 작성해줍니다. Desired Capabilities를 통해 플랫폼 버전, 여러 기기 연결 시 기기 선택을 위한 udid, 얼럿에 대한 자동 수락 여부 등 다양한 옵션을 설정할 수 있습니다. 기기가 하나만 연결되어 있다면 apk 경로, platformName, automationName만 작성하면 테스트 앱을 실행해 볼 수 있습니다.

기기 연결 여부를 확인하기 위해서는 터미널에서 adb devices를 입력해 해당 기기의 udid가 목록에 뜨는지 확인해주세요. 또한 Appium 2.0 이상 버전에서는 Remote Path에 /만 작성하면 됩니다. 실행 시에 에러가 난다면 /wd/hub로 설정되어 있을 가능성이 있으므로 한 번 더 확인해주세요.

 

또 다른 에러 가능성은 UIAutomator2 드라이버가 설치되어 있지 않는 경우입니다. 이 상황을 확인하려면 터미널에서 appium driver list를 입력해 설치 여부를 확인해보세요.

iOS 앱 실행하기

iOS의 경우 iOS 기기 연결 여부를 확인하는 간단한 방법이 ios-deploy -c라는 명령어를 입력하는 것입니다. ios-deploy는 brew install ios-deploy로 설치할 수 있고, 설치 완료 후에는 앞선 명령어로 기기 연결 여부를 확인해 볼 수 있습니다.

 

iOS 실제 기기를 테스트에 이용하기 위해서는 가장 기본적으로 개발자 계정에 가입된 애플 ID가 있어야 하고, WebDriverAgent(줄여서 WDA)를 먼저 기기에 설치해주어야 합니다. 만약 아래와 같이 '[DeviceName] is not available because it is unpaired'라고 뜬다면 페어링 과정을 진행해줘야 합니다. 기기를 맥에 연결 후 아이폰에서 맥을 신뢰하도록 설정해 줍니다. 이후 Xcode 기기 선택 창에서 하단의 Manage Run Destinations을 누른 후 Devices 탭에서 기기 페어링 상태를 확인합니다.

 

페어링 완료 후 WDA가 설치되었다면 Appium Inspector를 실행해 Android와 마찬가지로 테스트 앱 실행경로, 플랫폼 이름, 자동화 이름을 넣어준다음 udid까지 기입해 실행할 수 있습니다.

댓글