Katalon Studio Android 앱 자동화 테스트 with Appium #1
Katalon Studio는
Selenium 및 Appium 프레임워크가 내장되어 있습니다.
기본 제공하는 Appium 서버를 띄워 Android 앱을 테스트해보겠습니다!
1. Node.js 설치
https://nodejs.org/ko
Node.js는 자바스크립트를 브라우저 외에서도 실행 가능하게 해주는 런타임 환경입니다.
Appium은 Node.js 위에서 실행이 되는 구조입니다.
그래서 Katalon Studio 내 Appium 서버 구동을 위해 설치가 필요합니다.
2. ADB 버전 및 기기 연결 확인
ADB 명령어 사용을 위해선 Android SDK 설치가 필요한데, 이것도 Katalon Studio에서 기본 제공해줍니다!
PC 터미널을 열어서 명령어를 입력해주세요.
// 1. ADB 버전 및 설치 경로 확인
$ adb version
// 2. Android 기기 연결 확인
$ adb devices
3. 기기 내 권한 및 설정
설정 → 휴대전화 정보 → 소프트웨어 정보 → 빌드번호 7번 터치
개발자 모드에 진입하여 USB 디버깅을 활성화합니다.
4. Katalon Studio에서 Object Spy
Katalon Studio에서 안드로이드 테스트 시 크게 2가지 기능을 사용할 수 있습니다.
Object Spy - 테스트 앱 내부의 특정 UI 객체를 Object Repository에 저장
Recording - 테스트 앱을 조작한 결과를 스크립트로 자동 생성 & Object Spy 기능도 사용 가능
Object Spy
환경 세팅
연결한 Device Name 정보
Application File / ID 선택이 가능합니다.
Application File - 테스트 앱 APK파일을 가지고 있는 경우 경로 설정
Application ID - 테스트 앱 패키지명을 입력. 외부에서 앱을 설치하여 APK 파일이 없을 때 사용
예를 들어 com.test.test, 패키지명 추출 시 adb shell pm list packages | findstr 테스트 앱 명
혹은 adb pull로 apk 추출해서 하셔도 됩니다.
START 버튼 클릭!
하면 기기에서 테스트 앱이 자동 실행됩니다.
그리고 테스트 앱 화면 내 Object 추출 결과를 볼 수 있습니다.
단, 현재 기기 내 화면 UI를 기반으로 Object를 추출합니다.
UI Automator를 통해 현재 표시 중인 레이아웃 트리만 캡쳐 가능하기 때문입니다.
탐지가 어려울 때!
주요 요소(id, content-desc 등)에 고유 ID를 부여해주면
자동화 시 탐지가 원활해지므로
해당 부분을 프론트 개발자에게 전달하시면 도움이 됩니다.
특정 화면에 대한 요소를 추출한 xml 파일 생성 방법
// 1. 기기 연결 확인
adb devices
// 2. 현재 기기에 나타나는 화면에 대한 요소를 XML 파일로 추출
adb shell uiautomator dump /sdcard/view.xml
// 3. 로컬 경로로 해당 XML 파일 이동
adb pull /sdcard/view.xml
Object Repository 내 객체 저장
1) All OBJECTS 내 저장할 객체 선택
2) Highlight 버튼을 클릭하여 해당 영역이 맞는지 확인, 우측에 초록색으로 표시됩니다.
3) OBJECT PROPERTIES 내 Object Name 부여, 한글로 하셔도 됩니다.
4) Add to Object Repository 클릭
Object Repository 내 저장 경로 선택
Merge changes into existing objects - 기존 객체가 존재하고, 속성만 병합해서 저장
Create duplicate objects - 동일 객체 존재하더라도 신규로 저장
Replace existing objects - 기존 객체 덮어씀
테스트 케이스 스크립트 작성할 때
Object Repository 내 저장한 객체를
간단하게 가져와서 사용하실 수 있습니다.
다음 편에서 레코딩하는 방법도 작성해보겠습니다.