각 예제는 시나리오 생성 및 디바이스 연결이 완료된 상태에서 진행합니다.
앱 실행하기 #
YouTube 앱을 실행하는 세 가지 방법을 실습합니다.
- 홈 화면의 앱 아이콘을 터치하여 실행하기
- 앱 이름을 검색해서 실행하기
- 앱 아이디(
Package Name또는Bundle ID)로 실행하기
홈 화면의 앱 아이콘을 터치하여 실행하기 #

Step 1. 새로운 스텝을 생성합니다.

Step 2. 화면 분석 후 분석 도구로 “OD”를 선택합니다.

Step 3. 화면에서 “Youtube”를 선택한 다음 드래그&드롭으로 선택해서 스텝의 UIObject로 추가합니다.
앱 이름을 검색하여 실행하기 #

Step 1. 새 스텝을 생성한 뒤 Scroll 액션을 선택합니다.
화면 분석 도구에서 Full Screen을 선택해 스텝의 UIObject로 추가합니다.

Step 2. 새 스텝을 생성한 뒤 Touch 액션을 선택합니다.
화면 분석 도구에서 OCR을 선택하고, Search OCR을 스텝의 UIObject로 추가합니다.

Step 3. 새 스텝을 생성한 뒤 Input 액션을 선택하고, Attributes의 value에 Youtube를 입력합니다.

Step 4. 새 스텝을 생성한 뒤 Touch 액션을 선택합니다.
화면 분석 도구에서 OD을 선택하고, YouTube OD를 스텝의 UIObject로 추가합니다.
앱 고유 아이디값을 이용해 바로 실행하기 #

Step 1. 새 스텝을 생성한 뒤 Launch 액션을 선택합니다.
Attributes의 Package Name에 Youtube의 앱 ID (com.google.android.youtube) 를 입력합니다.
스크롤해서 아이템 찾기 #
YouTube 검색 결과 화면에서 Fully Automated AI Mobile Testing – Apptest.ai 영상이 표시될 때까지 검색 결과 목록을 스크롤하는 시나리오 예제입니다.

Step 1. 새 스텝을 생성한 뒤 Loop UIObject 액션을 선택하고, Attributes의 comparator는 NOT EXISTS로 설정합니다.
화면 분석 도구에서 OCR을 선택한 후, Fully Automated AI OCR를 스텝의 UIObject로 추가합니다.
여러 OCR은 드래그하여 한 번에 선택할 수 있습니다.

Step 1을 우클릭한 후, Insert child를 선택하여 Child Step을 추가합니다.

Step 2. 생성한 스텝에서 Scroll 액션을 선택합니다.
화면 분석 도구에서 Full Screen을 선택해 스텝의 UIObject로 추가합니다.
특정 위치 단어 확인 #
지정된 위치에 존재하는 특정 단어를 식별한 후, 이를 검색 엔진에 입력하여 검색하는 프로세스 시나리오를 작성해 보겠습니다.

Step 1. 새 스텝을 생성한 뒤 Store Content 액션을 선택하고, Attributes의 key에 model을 입력합니다.
화면 분석 도구에서 OCR을 선택한 후 디바이스 화면의 Model OCR을 지정합니다. 이후 Relative를 선택하고, 모델명이 노출되는 영역을 드래그하여 해당 영역을 UIObject로 추가합니다.
시나리오를 실행하면 Relative에 위치한 텍스트가 model에 저장됩니다.

Step 2. 새 스텝을 생성한 뒤 Touch 액션을 선택합니다.
화면 분석 도구에서 OD을 선택한 후, Google 검색창 OD를 스텝의 UIObject로 추가합니다.

Step 3. 새 스텝을 생성한 뒤 Input 액션을 선택하고, Attributes의 value에 ${model}을 입력합니다.
구글 맵 확대하기 #
Google Maps에서 Apptest.ai, 3003 N First Street, San Jose, CA 95134, United States 를 검색한 상태에서 지도를 축소하는 시나리오 예제입니다.

Step 1. 새 스텝을 생성한 뒤 Pinch 액션을 선택하고, Attributes의 direction을 IN으로 지정합니다.
화면 분석 도구에서 Custom Box을 선택한 후, Pinch In 액션을 수행할 영역을 드래그하여 해당 영역을 UIObject로 추가합니다.
조건문 액션 사용하기 #
Store Content 액션과 If Value 액션을 활용하여 Play Store에서 Top charts 카테고리가 Android Auto가 아니면 Android Auto로 변경하는 시나리오를 작성해 보겠습니다.

Step 1. 새 스텝을 생성한 뒤 Store Content 액션을 선택하고, Attributes의 key에 category를 입력합니다.
화면 분석 도구에서 OCR을 선택한 후 디바이스 화면의 Top charts OCR을 클릭합니다.
이후 Relative를 선택하고, Categories가 노출되는 영역을 드래그하여 해당 영역을 UIObject로 추가합니다.
시나리오를 실행하면 Relative에 위치한 텍스트가 category에 저장됩니다.

Step 2. 새 스텝을 생성한 뒤 If Value 액션을 선택하고, Attributes의 key에 category를 입력합니다.
comparator는 !=로 지정하고, value에 Android Auto를 입력합니다.
category에 저장된 값이 Android Auto가 아니면 If Value의 Child Step이 실행됩니다.

Step 3. 새 스텝을 생성한 뒤 Block 액션을 선택합니다.
Step 3을 우클릭한 후, Insert child를 선택하여 Child Step을 추가합니다.
Block 액션을 사용하여 Category를 Android Auto로 선택하는 과정을 그룹화할 수 있습니다.

Step 4. 생성한 스텝에서 Touch 액션을 선택합니다. Step 1의 UIObject를 Step 4의 UIObject로 추가합니다.
한 Step에서 사용한 UIObject는 다른 스텝에서 재사용할 수 있습니다.

Step 5. 새 스텝을 생성한 뒤 Touch 액션을 선택합니다.
화면 분석 도구에서 OD을 선택한 후, Android Auto OD를 스텝의 UIObject로 추가합니다.
재생 중인 동영상 정지하기 #
YouTube에서 Fully Automated AI Mobile Testing – Apptest.ai 영상이 재생 중이면 정지하는 시나리오를 작성해 보겠습니다.
이를 통해 화면 분석 도구 중 Custom Box로 영역을 지정하고, If Changed 액션을 통해 동작을 제어하는 방법을 학습할 수 있습니다.

Step 1. 새 스텝을 생성한 뒤 If Changed 액션을 선택합니다.
화면 분석 도구에서 Custom Box을 선택한 후 디바이스 화면의 재생 중인 영상 영역을 드래그하여 해당 영역을 UIObject로 추가합니다.

Step 1을 우클릭한 후, Insert child를 선택하여 Child Step을 추가합니다.

Step 2. 생성한 스텝에서 Touch 액션을 선택하고, Step 1의 UIObject를 Step 2의 UIObject로 추가합니다.
한 Step에서 사용한 UIObject는 다른 스텝에서 재사용할 수 있습니다.
알람 시간 설정하기 #
이 시나리오는 안드로이드 시계 앱에서 사용자가 원하는 알람 시간을 설정하는 예제입니다. Loop UIObject를 사용하여 알람 시간을 조정하는 방법을 학습할 수 있습니다.

Step 1. 새 스텝을 생성한 뒤 Touch 액션을 선택합니다.
화면 분석 도구에서 OD을 선택한 후, + 버튼 OD를 스텝의 UIObject로 추가합니다.

Step 2. 새 스텝을 생성한 뒤 Loop UIObject 액션을 선택합니다. Attributes의 comparator는 NOT EXISTS로 지정하고, limit에 12를 입력합니다.
화면 분석 도구에서 OCR을 선택한 후, 10 OCR을 스텝의 UIObject로 추가합니다.
10이 존재하지 않으면 Loop UIObject의 Child Step을 최대 12번 반복합니다.

Step 2의 UIObject를 클릭하면 UIObject Field를 열 수 있습니다.
UIObject Field의 AI 버튼을 클릭한 후, 화면 분석 도구에서 OCR을 선택하고 AM OCR을 Anchor로 추가합니다.
‘AM’을 기준으로 좌측 중앙에 위치한 ‘10’이 10시를 나타내는 시간 선택 영역의 숫자이므로,
‘AM’ OCR을 Anchor로 사용하여 시간 선택에 필요한 정확한 숫자 영역을 인식하도록 설정합니다.

Step 2을 우클릭한 후, Insert child를 선택하여 Child Step을 추가합니다.

Step 3. 생성한 스텝에서 Drag 액션을 선택합니다.
화면 분석 도구에서 Custom Box을 선택한 후, 시간 선택 영역을 드래그하여 해당 영역을 start UIObject로 추가합니다.

화면 분석 도구에서 Custom Box을 선택한 후, 드래그 도착 영역을 드래그하여 해당 영역을 Step 3의 end UIObject로 추가합니다.

Step 4. 새 스텝을 생성한 뒤 Loop UIObject 액션을 선택합니다. Attributes의 comparator는 NOT EXISTS로 지정하고, limit에 12를 입력합니다.
화면 분석 도구에서 OCR을 선택한 후, 10 OCR을 스텝의 UIObject로 추가합니다.
알림 메시지 확인하기 #
알림 메시지(ex. 토스트 팝업)가 노출되는지 검증하는 시나리오 예제 입니다. 이 예제를 통해서 Assert Message 액션의 사용법을 익힐 수 있습니다.

Step 1. 새 스텝을 만들고, Touch 액션을 선택합니다.
화면 분석 도구에서 OD을 선택한 후, 더보기 버튼 OD을 스텝의 UIObject로 추가합니다.

더보기 아이콘이 한 화면에 여러개 있기 때문에 UIObject 속성값 중 Selector 값을 수정해야 합니다.
이번 예제는 동영상의 옵션을 활성화해야 하기 때문에 두 번째 아이콘이 터치 되도록 Selector 값을 2로 수정해야 합니다.
UIObject 속성 패널을 띄우기 위해서는 스텝의 UIObject Field를 클릭하면 됩니다.

Step 2. 새 스텝을 만들고, Touch 액션을 선택합니다.
화면 분석 도구에서 OD을 선택한 후, Save to Watch later 버튼 OD을 스텝의 UIObject로 추가합니다.

Step 3. 새 스텝을 만들고, Assert Message 액션을 선택합니다.
Attributes의 comparator는 *=으로 설정하고, value에 Saved to Watch later를 입력합니다.
화면에 Saved to Watch later 문구가 포함된 토스트 메시지가 노출되는지 검증할 수 있습니다.
바탕화면 아이콘 검사하기 #
바탕화면에 Play Store 앱 아이콘이 있는지 검사하는 예제입니다.
만약 바탕화면에 Play Store 앱 아이콘이 없다면 테스트 결과로 “Play Store app icon not found on the Home Screen.”라는 문구를 출력하게 됩니다.

Step 1. 새 스텝을 만들고, Assert UIObject 액션을 선택합니다.
Attributes의 comparator는 EXISTS로 설정하고, custom message에 Play Store app icon not found on the Home Screen.을 입력합니다.
화면 분석 도구에서 OD를 선택한 후, Play Store 아이콘 OD를 UIObject로 추가합니다.
Play Store 아이콘 OD가 화면에 노출되는지 검증할 수 있습니다. 화면에 노출되지 않으면 custom message가 출력됩니다.
Common Scenario 활용하기 #
앱 실행 시나리오를 Common Scenario로 만들어 다른 시나리오에서 재사용할 수 있습니다.

Step 1. 새 스텝을 만들고, Launch 액션을 선택합니다.
Attributes의 Package Name에 Chrome의 Android 앱 ID를 입력하고, Bundle ID에 Chrome의 iOS 앱 ID를 입력합니다.
이 시나리오는 Open Chrome으로 저장하여, 여러 테스트에서 재사용 가능한 Common Scenario로 사용합니다.

Open Chrome 시나리오를 Scenario 패널에서 우클릭한 후, Move to Common Scenario를 선택하여 Common Scenario로 설정합니다.

새로운 시나리오를 생성한 후, 새 스텝을 추가합니다.
Step 1. Common Scenario 액션을 선택하고, Attributes에서 Select a Common Scenario를 클릭합니다.

Common Scenario List에서 Open Chrome 시나리오를 선택합니다.

선택한 Common Scenario가 정상적으로 추가되면, 해당 Common Scenario는 수정할 수 없으므로 비활성화된 상태로 표시됩니다.
이메일 주고 받기 #
D2D(Device-to-Device) 환경에서 두 디바이스 간 이메일 송수신 기능을 검증하는 시나리오입니다.
D2D 시나리오를 위해서는 두 대의 디바이스가 연결되어 있어야 하며, 본 예제에서는 Galaxy S22와 Galaxy S10을 사용합니다.
테스트 실패 시, 수신자가 이메일을 정상적으로 수신하지 못한 경우, 테스트 결과로 The recipient did not receive the email. 오류 메시지가 출력됩니다.
시나리오를 생성한 후, Scenario Editor 패널 상단의
을 클릭하여 Scenario Settings에 접근합니다.
시나리오에서 활용할 수신자 이메일을 User Variables로 설정합니다:

- key: email
- value: john.doe@example.com (수신자 이메일)
Scenario Settings > D2D Test 항목을 활성화하고 디바이스 역할을 정의합니다:

- receiver: 이메일 수신 및 확인을 담당하는 디바이스
- sender: 이메일 작성 및 전송을 담당하는 디바이스

Step 1. 새 스텝을 만들고, Launch 액션을 선택합니다.
Attributes의 Package Name에 Gmail의 Android 앱 ID를 입력합니다.

Step 2. 새 스텝을 추가하고 If Role 액션을 선택한 후, Attributes의 role에 sender를 입력합니다.
Step 2 If Role의 child step은 sender 디바이스에서만 실행됩니다.

Step 3. Step 2를 우클릭한 후, Insert child를 선택하여 child step을 추가합니다.
Touch 액션을 선택하고, 화면 분석 도구에서 OD를 선택하여 Compose 버튼 OD를 UIObject로 추가합니다.

Step 4. 새 스텝을 추가하고, Input 액션을 선택합니다. Attributes의 value에 ${email}을 입력합니다.
시나리오 실행 시 User Variable인 email의 value(john.doe@example.com)가 자동 입력됩니다.

Step 5. 새 스텝을 추가하고, Touch 액션을 선택합니다.
화면 분석 도구에서 OCR를 선택하여 Add recipient OCR을 UIObject로 추가합니다.
여러 OCR은 드래그하여 한 번에 선택할 수 있습니다.

Step 6. 새 스텝을 추가하고, Touch 액션을 선택합니다.
화면 분석 도구에서 OCR를 선택하여 Compose email OCR을 UIObject로 추가합니다.
여러 OCR은 드래그하여 한 번에 선택할 수 있습니다.

Step 7. 새 스텝을 추가하고, Input 액션을 선택합니다.
Attributes의 value에 If you are reading this, the test worked!를 입력하고, auto done 옵션을 활성화합니다.
auto done 옵션을 활성화하면 입력 완료 후 키보드가 자동으로 닫힙니다.

Step 8. 새 스텝을 추가하고, Sync 액션을 선택합니다.
Sync 액션은 D2D 환경에서 두 디바이스의 시나리오 진행 시점을 맞추기 위해 사용합니다.
한 디바이스가 Sync 스텝에 도달할 때까지 다른 디바이스는 대기하며, 이후 스텝은 두 디바이스가 동시에 시작합니다.

Step 9. 새 스텝을 추가하고 If Role 액션을 선택한 후, Attributes의 role에 sender를 입력합니다.
Step 9 If Role의 child step은 sender 디바이스에서만 실행됩니다.

Step 10. 새 스텝을 추가하고, Touch 액션을 선택합니다.
화면 분석 도구에서 Crop Image를 선택한 후, 전송 아이콘을 드래그하여 UIObject로 추가합니다.

Step 11. 새 스텝을 추가하고 If Role 액션을 선택한 후, Attributes의 role에 receiver를 입력합니다.
Step 11 If Role의 child step은 receiver 디바이스에서만 실행됩니다.

Step 12. 새 스텝을 추가하고 Assert Content 액션을 선택합니다.
Attributes의 comparator를 search로 설정하고, value에 If you are reading this를 입력합니다. wait timeout은 60,000 ms로 설정합니다.
화면 분석 도구에서 Full Screen을 선택하여 UIObject로 추가합니다.
60,000ms 내로 전체 화면에 "If you are reading this"가 노출되는지 검증할 수 있습니다.
Checkpoints 액션 활용하기 #
Checkpoints 액션을 활용하여 하나의 화면에서 여러 개의 항목에 대한 Assertion을 검증하는 시나리오입니다.

Step 1. 새 스텝을 생성한 후, Checkpoints 액션을 선택합니다.
Attributes > checkpoints에서 + 버튼을 선택하여 checkpoint를 추가합니다. 이때 Target Type은 UIObject로 설정합니다.
화면 분석 도구에서 OD를 선택한 뒤, Sign In 버튼 OD를 UIObject로 추가합니다.

Attributes > checkpoints에서 + 버튼을 선택하여 checkpoint를 추가합니다. 이때 Target Type은 UIObject Content로 설정합니다.
화면 분석 도구에서 OD를 선택한 뒤, Run a Free App Test 버튼 OD를 UIObject로 추가합니다. comparator를 =로 설정하고, Run a Free App Test를 입력합니다.
Run a Free App Test 버튼의 텍스트가 Run a Free App Test와 일치하는지 검증할 수 있습니다.

체크 버튼을 선택하여 저장합니다.

시나리오를 수행하면 Checkpoints 결과를 확인할 수 있습니다.

Output 결과를 클릭하면 각 checkpoint 대상에 대해 조건 매칭 결과를 확인할 수 있습니다.

Step Result에서 한 checkpoint 항목을 선택하면, 해당 항목의 상세 결과를 확인할 수 있습니다.
