흔한 QA 엔지니어

Katalon Studio Android 앱 자동화 테스트 with Appium #2 본문

Test Tools/Katalon

Katalon Studio Android 앱 자동화 테스트 with Appium #2

블로그 닉네임 입력 제한 수는 몇 자인가요? 2025. 4. 14. 14:03
 

Katalon Studio Android 앱 자동화 테스트 with Appium #1

Katalon Studio는 Selenium 및 Appium 프레임워크가 내장되어 있습니다.기본 제공하는 Appium 서버를 띄워 Android 앱을 테스트해보겠습니다!1. Node.js 설치https://nodejs.org/koNode.js는 자바스크립트를 브라우저

happyqa.tistory.com

해당 게시글과 이어집니다

5. Katalon Studio에서 Recording 
Katalon Studio에서 안드로이드 테스트 시 크게 2가지 기능을 사용할 수 있습니다. 

Object Spy - 테스트 앱 내부의 특정 UI 객체를 Object Repository에 저장 
Recording - 테스트 앱을 조작한 결과를 스크립트로 자동 생성 & Object Spy 기능도 사용 가능 

Recording

Recording > Android Devices 클릭

 

환경 세팅
연결한 Device Name 정보 
Application File / ID 선택이 가능합니다. 

Application File - 테스트 앱 APK파일을 가지고 있는 경우 경로 설정 
Application ID - 테스트 앱 패키지명을 입력. 외부에서 앱을 설치하여 APK 파일이 없을 때 사용 
예를 들어 com.test.test, 패키지명 추출 시 adb shell pm list packages | findstr 테스트 앱 명 
혹은 adb pull로 apk 추출해서 하셔도 됩니다. 

Mobile Recording 화면

 

START 버튼 클릭! 
하면 기기에서 테스트 앱이 자동 실행됩니다. 
그리고 테스트 앱 화면 내 Object 추출 결과를 볼 수 있습니다. 

단, 현재 기기 내 화면 UI를 기반으로 Object를 추출합니다. 
UI Automator를 통해 현재 표시 중인 레이아웃 트리만 캡쳐 가능하기 때문입니다. 

레코딩 스크립트를 자동으로 추가하는 방법
1. 우측 화면인 DEVICE VIEW에서 Object 클릭 
2. 중앙 화면인 ALL OBJECTS 내 해당 Object 포커스
3. 상단에 AVAILABLE ACTIONS에서 레코딩할 동작 클릭
4. 좌측 화면인 RECORDED ACTIONS 내 스크립트 자동 생성
5. Save Script 버튼 클릭

좌측엔 레코딩한 스크립트, 중앙에는 Object 목록, 우측에는 테스트 앱 화면입니다.

 

Katalon Studio 내 Available Action 정리

Tap 모바일 테스트에서 사용하는 터치(클릭) 동작. 웹의 Click과 유사함 (모바일 앱 UI 전용)
Click 마우스로 클릭하는 동작. 웹 테스트에서 사용 (버튼, 링크 등)
Set Text 입력 필드에 텍스트를 입력하는 동작. (예: 로그인 폼에 ID 입력 등)
Get Text 특정 요소의 텍스트 값을 읽어오는 동작 (검증/비교용으로 자주 사용됨)
Verify Element Visible 요소가 화면에 보이는지 여부를 검증
Verify Element Present 요소가 DOM에 존재하는지 여부 확인 (보이는지와는 다름)
Wait For Element Visible 특정 요소가 보일 때까지 대기 (타임아웃 설정 가능)
Scroll To Element 페이지 스크롤해서 해당 요소가 보이도록 이동
Double Click 더블 클릭 (웹 요소 대상)
Right Click 마우스 오른쪽 클릭 (컨텍스트 메뉴 호출 시 등)
Mouse Over 마우스를 해당 요소 위로 올리는 동작 (hover 이벤트 발생용)
Check 체크박스를 체크하는 동작
Uncheck 체크박스를 체크 해제하는 동작
Select Option By Label 드롭다운 리스트에서 보이는 라벨 텍스트 기준으로 선택
Select Option By Value 드롭다운 리스트에서 <option value="x"> 의 value 값으로 선택
Clear Text 입력 필드의 텍스트를 비우는 동작
Send Keys 키보드 입력을 시뮬레이션 (Enter, Tab, 특수 키 등 전송 가능)
Swipe 모바일에서 좌우 또는 상하로 스와이프 (제스처 자동화)
Take Screenshot 현재 화면 스크린샷 저장 (디버깅, 리포트용)

 

Object Repository 내 저장 경로 선택 
레코딩한 Object가 자동으로 탐지됩니다 

Merge changes into existing objects - 기존 객체가 존재하고, 속성만 병합해서 저장
Create duplicate objects - 동일 객체 존재하더라도 신규로 저장
Replace existing objects - 기존 객체 덮어씀

Export to new test case - 새로운 테스트케이스 생성
Append to test case - 기존 테스트 케이스 내 생성
Overwrite test case - 기존 테스트 케이스 내 덮어쓰기

테스트케이스를 저장하는 방식을 선택할 수 있습니다.

 

테스트케이스 신규 생성 확인!

스크립트를 tap 액션으로 마무리하기는 했지만
테스트 자동화의 중요 목적은 바로 검증이기 때문에
테스트케이스 생성 시 검증 액션(verify, assert 등)을 추가해주셔야 합니다.

Test Cases 내 신규 파일이 생성되고 레코딩한 스크립트가 들어있습니다.

 

다음 편에서는 테스트 플로우를 작성해보겠습니다.