Appium 자동화 연습을 위한 Appium 환경 설정 방식을 정리합니다.
GPT에 물어보면 상세하게 나오지만, 설정 과정을 다시 한번 정리해 보고자 작성하는 포스팅입니다 :)
이번 포스팅에는 어플리케이션 테스트 자동화를 위해 가장 많이 사용하는 Appium을 사용하기 위해 필요한 환경 설정 방식을 작성해 보겠습니다.
저는 QA와 Test Engineer로 업무를 수행하면서 주로 다뤘던 도메인은 웹 환경이었습니다.
자연스럽게 강점이 되긴 했지만, 반대로 약점이 되는 부분은 애플리케이션 부분에 대한 지식이 부족한 점이 있었습니다.
이를 보완하기 위해 혼자서라도 해보자!라는 생각으로 Appium 테스트 자동화를 혼자 시작해보고 있습니다.
제가 하고 있는 방식을 개인적으로 정리하기 위한 포스팅이고, 진행 과정 중 막히는 부분들은 GPT나 타 블로그를 활용하여 환경 구성을 하였습니다.
중구난방 하게 찾았던 자료들을 저만의 방식으로 기록해 두기 위해 내용을 작성해 보겠습니다.
저는 확신의 갤럭시상이기에, Windows 환경에서 Android를 테스트하려는 목표로 환경 구성을 하였습니다.
mac은 비슷한 부분도 많지만 조금씩 다를 수 있습니다!
프로그램 설치 항목
설치 프로그램 | 사용 이유 | URL |
Python | Python으로 Appium 자동화를 위해 구성 (설치 시 시스템 환경변수 적용 체크 필수) |
https://www.python.org/downloads/ |
Node.js | 터미널에서 npm 기능을 사용하기 위해 구성 | https://nodejs.org |
IntelliJ | 스크립트 개발 IDE를 IntelliJ로 선정 | https://www.jetbrains.com/idea/download |
Java | Appium Inspector로 Android와 연결할때 필요하다해서.. | https://www.java.com/ko/download/ |
Android Studio | Android 에뮬레이터 환경을 구성하기 위한 툴 | window https://developer.android.com/studio?hl=ko mac https://developer.android.com/studio/install?hl=ko#mac |
Appium | 자동화를 수행하기 위한 툴 (터미널에서 npm으로 설치) |
npm install appium |
Appium Inspector | 어플리케이션의 요소(식별자)를 확인하기 위해 사용 Web에서 개발자도구(F12) 역할 수행 |
https://github.com/appium/appium-inspector/releases window exe는 Assets 드롭다운 영역에서 'Show all 26 assets' 클릭 |
Appium-Python-Client | Appium 서버와 연결해서 테스트 하기 위해 설치 (터미널에서 python 기능으로 설치) |
pip install Appium-Python-Client |
pytest | python으로 작성한 스크립트 수행을 위해 설치 (터미널에서 python 기능으로 설치) |
pip install pytest |
테스트용 Apk | Appium 기본 기능 테스트를 위한 어플리케이션 파일 | https://github.com/appium-boneyard/sample-code/tree/master/sample-code/apps/ApiDemos/bin |
Appium 관련 프로그램 연결 과정
위 항목을 설치하고 Appium과 Android Studio에서 구성한 에뮬레이터를 연결하고, Appium Inspector로 대상 요소를 확인하는 과정에 대해 설명해 보겠습니다.
연결 방식은 대략 아래 이미지처럼 Appium 서버를 통해서 요소를 찾기도 하고, 자동화를 수행하는 방식으로 구성됩니다.
우선 Appium Inspector와 Android Emulator를 연결하는 방식에 대해 설명하겠습니다.
설치한 Android Studio에서 프로젝트를 생성합니다. 저는 Empty Activity를 선택해서 프로젝트를 만들었습니다.
이후 표시되는 화면 상단에 Run 버튼을 클릭하여 에뮬레이터를 실행시켜 줍니다.
터미널에서 'adb devices'를 입력하면 현재 띄워져 있는 디바이스 목록을 확인할 수 있고, 생성한 에뮬레이터 이름을 확인할 수 있습니다.
혹시 adb 명령어가 정상적으로 동작하지 않는다면, 아래 환경변수 설정을 해주세요!
저는 ANDROID_HOME이라는 변수를 만들고, PATH 항목에 platform-tools와 emulator를 추가했습니다.
추가 후 터미널을 껐다 켜고 adb 명령어가 잘 되는지 확인해 보세요!
이후 appium 명령어를 통해 터미널에서 서버를 활성화합니다.
서버를 활성화 한 터미널이기 때문에, 다른 작업을 수행하는 경우 새로운 터미널에서 작업해 주세요
서버를 활성화하고, 확인한 디바이스 이름과 테스트할 apk를 활용하여 Appium Inspector에 연결합니다.
Json 형식으로 되어있으며, 저는 Android를 활용하기에 platformName에는 Android를 넣었고, automationName은 Android 테스트 엔진인 UiAutomator2를 입력하고, app 항목에는 저장한 apk 경로를 입력했습니다.
{
"platformName": "Android",
"deviceName": "emulator-5554",
"automationName": "UiAutomator2",
"app": "C:\\Users\\ko\\IdeaProjects\\appium_test_project\\testApk\\ApiDemos-debug.apk"
}
연결하면 Android Studio에서 경로에 입력한 apk가 실행되며, Inspector에 App Source 탭에서 요소를 확인할 수 있습니다.
Android Studio에서 기능 동작 후 Inspector의 새로고침 기능을 통해 현재 화면에 표시되고 있는 요소를 확인할 수 있습니다.
확인한 요소 정보를 가지고, python을 사용해서 간단한 테스트 코드를 작성하여 pytest를 수행해 보면, pytest가 수행되는 동안 Android Studio의 에뮬레이터가 작성한 스크립트대로 동작하게 되며, 테스트를 수행할 수 있습니다.
이처럼 연결 과정에 대해 설명드렸으며, GPT를 활용하여 충분히 설정 가능하지만, 다시 혼자 해보라 하면 어려울 것 같아서 기록용으로 남기고, 정보 공유용으로 포스팅하고 있습니다 :)
이후 포스팅에서는 테스트용 apk를 활용한 테스트 수행 방식, 자주 사용하는 Appium 함수들에 대해 작성해 볼 예정입니다.
아직은 저도 잘 모르는 분야라서 틀린 부분이 있으면 댓글로 알려주세요 😊
'QA > Appium' 카테고리의 다른 글
링크드인에서 Appium 교육을?(QA 학습) (7) | 2025.08.05 |
---|