여는 말
안녕하세요. Dogu Technologies의 Henry에요. :)
지난 게시글에서는 Appium 서버를 실행했어요. Appium 클라이언트를 사용하기 위해서는 Appium 서버가 꼭 필요해요.
아직 Appium 서버를 설정하지 않으신 분들께서는 아래 링크를 클릭해 보실 수 있어요.
https://blog.dogutech.io/app-test-automation-tutorial-3/
Python을 사용해 Appium 클라이언트를 구성하고 실행할게요.
Appium 클라이언트 설치하기
- powershell을 입력하고 Windows PowerShell 또는 Powershell 7 (x64)를 클릭해주세요.
- pip --version (띄어쓰기 있음)을 입력하고 엔터를 입력해주세요.
아래 그림처럼 pip의 버전과 Python의 버전이 나와야해요.
만약 아래 그림처럼 버전이 출력되지 않다면, 게시글 앱 테스트 자동화 무작정 따라하기 - 2 - Python을 봐주세요.
- pip install Appium-Python-Client (띄어쓰기 있음)을 입력하고 엔터를 입력해주세요.
최초로 설치하는 것이라면, 아래 그림처럼 Successfully built Appium-Python-Client이 보일거에요.
- 또는 이전에 설치한 적이 있다면, 위 그림과 다르게 아래 그림처럼 Requirement already satisfied: Appium-Python-Client가 보일거에요.
Appium 클라이언트 스크립트 만들기
- visual studio code를 입력하고 Visual Studio Code를 클릭해주세요.
만약 설치가 되어 있지 않다면, 게시글 앱 테스트 자동화 무작정 따라하기 - 2 - Python을 봐주세요.
- 테스트 스크립트를 저장할 폴더를 선택해 열어주세요.
저는 아래 그림처럼 게시글 앱 테스트 자동화 무작정 따라하기 - 2 - Python에서 만든 my-python 폴더를 열게요.
- New File...을 클릭하고, 애피움.py 파일을 만들어주세요.
- 아래 스크립트를 애피움.py로 복사 붙여넣기 후 저장해주세요.
- Appium 스크립트를 실행하기 전에, Android 에뮬레이터가 켜져 있는지 확인해주세요!
만약 켜져있지 않다면, 게시글 앱 테스트 자동화 무작정 따라하기 - 1 - Android 에뮬레이터를 봐주세요.
- Appium 서버가 켜져 있는지 확인해주세요.
만약 켜져있지 않다면, 게시글 앱 테스트 자동화 무작정 따라하기 - 3 - Appium 서버를 봐주세요.
- PowerShell을 열고 아래 명령어를 입력하고 엔터를 입력해주세요.
- 아래 그림처럼 설치 경로가 나올거에요.
만약 나오지 않는다면, 게시글 앱 테스트 자동화 무작정 따라하기 - 2 - Python을 봐주세요.
- Visual Studio Code에서 아래 Python 오른쪽 버전을 클릭해주세요.
- Python 목록 중에서 아까 PowerShell에 나온 경로를 클릭해주세요.
경로 앞 물결 문자(~)는 현재 사용자 경로(C:\Users\<현재 사용자>)의 줄임말이에요.
저의 경우에는 ~\AppData\Local\Programs\Python\Python311\python.exe에요.
- 메뉴에서 Run -> Run Without Debugging을 클릭해주세요.
1~5분 기다리면, YouTube가 켜졌다가 5초 후 꺼질거에요.
닫는 말
여러 기반 프로그램을 설치하고, Python을 사용해 Appium 클라이언트를 설치하고 실행하고, Appium 서버를 거쳐 Android 에뮬레이터를 제어했어요.
하지만 앱을 실행했을 뿐, 앱의 버튼을 클릭하거나 입력 창에 텍스트를 입력하지 않았어요.
앱의 "이" 버튼을 클릭, "저" 버튼을 클릭하기 위해서는 "이", "저"가 무엇인지 명확히 전달해줘야 해요.
단순한 방법으로는 "화면의 위치"를 전달하면 돼요.
이 방법은 치명적인 단점이 하나 있어요.
단말기 기종마다 화면의 크기가 모두 다르기 때문이에요.
이 방법을 사용하면, 제각각의 "기종별 화면의 위치"를 지정해 전달해줘야 해요.
이런 이유로, 주로 다른 방법을 사용하는데요.
저희도 이 방법을 여러번 사용했어요.
컴퓨터에게 화면에 보이는 창의 크기나 위치에 관계 없이 무언가를 명확하게 전달할 때요.
환경 변수의 값을 입력하거나 Visual Studio Code의 Python을 선택하는 것이 그런 것이에요.
바로 경로 선택이에요.
폴더나 파일의 경로를 프로그램에 입력하면, 파일이나 폴더를 찾아 실행하거나 열어 주는 것과 같이,
버튼이나 입력창의 경로를 Appium에 입력하면, 버튼이나 입력창을 찾아 클릭하거나 텍스트를 입력할 수 있어요.
하지만 우리에게 앱의 버튼은 보이지만, 경로는 보이지 않아요.
그래서 이 앱 내 버튼의 경로를 보여주는 Appium 인스펙터라는 도구를 사용할거에요.
그리고 우리가 서울에서 부산을 갈 때, KTX, 고속도로, 비행기 중 더 효과적인 경로를 선택하는데요.
앱 내 버튼의 경로를 여러 방식으로 나타내고 찾을 수 있는데요.
이를 Locator라고 해요. 다음 게시글에서 확인하실 수 있을 거예요.
다음 게시글에서 봬요!
링크
Android 에뮬레이터 - https://developer.android.com/studio/run/emulator?hl=ko
Appium - https://appium.io/docs/en
Appium 서버 - https://appium.io/docs/en/2.3/quickstart/install/
Appium 클라이언트 - https://appium.io/docs/en/2.3/quickstart/test-py/
Appium 인스펙터 - https://github.com/appium/appium-inspector
Appium Locator 검색 - https://www.google.com/search?q=appium+locator&sca_esv=592185140&ei=4ZKBZe6zDfmA1e8Pt-mHkAw&ved=0ahUKEwiuqNSbxpuDAxV5QPUHHbf0AcIQ4dUDCBA&uact=5&oq=appium+locator&gs_lp=Egxnd3Mtd2l6LXNlcnAiDmFwcGl1bSBsb2NhdG9yMgsQABiABBiKBRiRAjIFEAAYgAQyBRAAGIAEMgUQABiABEj_IVCdBFjWH3AEeACQAQGYAcwBoAHXEaoBBjAuMTUuMbgBA8gBAPgBAagCBsICChAAGEcY1gQYsAPCAgQQABgDwgILEAAYgAQYsQMYgwHCAgsQLhiABBixAxiDAcICCBAAGIAEGLEDwgIIEC4YgAQYsQPCAhQQABiABBjjBBjpBBjqAhi0AtgBAcICCxAuGIAEGMcBGNEDwgIQEC4YgAQYigUYQxjHARjRA8ICChAAGIAEGIoFGEPCAg4QLhiABBjHARjRAxjUAsICExAuGIAEGIoFGEMYyQMYxwEY0QPCAgsQABiABBiKBRiSA8ICBxAAGIAEGArCAgsQABiABBiKBRiGA-IDBBgAIEGIBgGQBgi6BgQIARgH&sclient=gws-wiz-serp
Python - https://docs.python.org/ko/3/tutorial/index.html
PowerShell - https://learn.microsoft.com/en-us/powershell/
PowerShell 7 - https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4
pip - https://pip.pypa.io/en/stable/
Visual Studio Code - https://code.visualstudio.com/