콘텐츠로 건너뛰기

문서

  • 언어
    • 한국어 – KO
    • English – EN
  • 언어
    • 한국어 – KO
    • English – EN

시나리오 작성하기

  • Stego란?
  • 기본기능
  • 시나리오 작성과 실행
  • 액션 목록
  • 화면 분석 도구 목록

시나리오 작성 튜토리얼

  • 1. 앱 실행하기
  • 2. 스크롤해서 아이템 찾기
  • 3. 특정 위치 단어 확인
  • 4. 구글맵 확대하기
  • 5. 조건문 액션 사용하기
  • 6. 재생중인 동영상 정지하기
  • 7. 알람 시간 설정하기
  • 8. 사라지는 UI 확인하기
  • 9. 바탕화면 아이콘 검사하기
  • 10. 공유 시나리오 사용하기

Apptest.ai에서 Stego 시나리오 실행하기

  • 시나리오 테스트하기

로그인 및 프로젝트,팀 관리

  • 로그인하기
  • 프로젝트 만들기
  • 팀 만들기

자율 탐색 테스트 시작하기

  • 모바일 앱테스트하기
  • 웹페이지 테스트하기

테스트 결과 확인하기

  • Summary
  • Activity Map
  • Screen
  • Performance
  • Device Log
  • 테스트 결과 공유하기

통합 및 API

  • Jenkins
  • Rest API’s

IPTV 셋톱박스 전용

  • 장비 등록하기
  • 화면 조작하기
  • 리모컨으로 시나리오 작성하기
  • 특수한 액션을 사용해서 시나리오 작성하기
  • Home
  • 액션 목록

액션 목록

Table of Contents
  • 액션 리스트 확인하기
  • Motion
    • Touch
    • NTimes Touch
    • Double Touch
    • Long Touch
    • Swipe
    • Scroll
    • Drag
    • Pinch In / Pinch Out
    • Input
    • Secure Keyboard
  • Variables
    • Store Value
    • Store Content
    • Random Number
    • Random Text
    • Export Variable
  • Control
    • If UIObject
    • If Content
    • If Value
    • If Changed
    • Loop UIObject
    • Loop Ntimes
    • Loop Content
    • Loop Value
    • Loop Wait For
  • Assertion
    • Assert UIObject
    • Assert Content
    • Assert Value
    • Assert Changed
    • Assert Wait For
    • Assert Message
  • Events
    • Rotate
    • Wait
    • Launch
      • 안드로이드 Package Name 알아내는 방법
      • 아이폰 Bundle ID 알아내는 방법
    • Terminate
    • Activate
    • Home
    • Lock
    • Unlock
    • Wake Up
    • Keycode
  • Advanced
    • Shared Scenario

액션 리스트 확인하기 #



①’+’버튼을 눌러 Step을 생성 합니다.
② 클릭하여 생성된 Step의 이름을 변경할 수 있습니다.
③ 생성된 Step에서 액션 선택영역을 누르면 아래와 같이 선택 가능한 액션 리스트가 표시됩니다.


(액션 목록)

 

Motion
스마트폰을 실제로 조작할 때 사용되는 동작들을 모아둔 곳입니다.

Variables
테스트 도중 특정 값을 저장해 두거나, 랜덤하게 값을 생성하는 기능이 있습니다. 여기서 저장해 둔 값들은 다른 스텝에서 사용됩니다.

Control
시나리오에 분기점이 필요하거나 동일 스텝들을 반복해야 할 때 사용할 수 있는 기능들이 있습니다.

Assertion
화면상 특정 위치에 요소나 문자열이 있는지 검사할 때 사용하는 기능들입니다. 실제 테스트를 위해 사용되는 스텝 액션으로 여기 있는 액션을 통과하지 못하면 빨간색으로 에러 메시지가 출력되면서 시나리오가 중지 됩니다.
주로 특정 스텝 수행 후 그 스텝이 잘 진행되었는지 확인 하는 과정(예: 로그인 후 환영 메시지가 출력되는지 확인)에서 사용됩니다.

Events
Motion 이외에 디바이스에서 할 수 있는 다양한 컨트롤 동작들이 모여 있습니다. 예를 들어 세로 화면을 가로 화면으로 바꾸거나 앱 실행 혹은 종료 시키는 등의 이벤트를 발생 시킬 수 있습니다.

Advanced
시나리오를 보다 풍성하게 작성하기 위한 고급 기능이 포함되어 있습니다. 현재는 Shared Scenario 기능만 있지만, 지속적으로 기능들이 업데이트 될 예정입니다.

 


 

Motion #

스마트폰을 실제로 조작할 때 사용되는 동작들을 모아둔 곳입니다.

 

Touch #

화면 요소를 터치하는 동작입니다. 스텝을 만들 때 가장 많이 사용되는 액션이며, 스텝을 새로 만들때도 액션의 기본값으로 설정되어 있습니다.

Touch Attributes

  • UIObject: 터치 액션을 수행할 화면 요소가 출력됩니다.

(터치 액션 Attributes 예제)

 

NTimes Touch #

화면 요소를 설정한 횟수만큼 터치하는 액션입니다.

NTimes Touch Attributes

  • UIObject: 여러번 터치 액션을 수행할 화면 요소가 출력됩니다.
  • count: 액션을 수행할 횟수를 설정할 수 있습니다.
    – 기본값: 2
    – 최소값: 1
    – 최대값: 100
  • interval: 액션과 액션 사이에 얼마의 시간동안 쉴지를 설정할 수 있습니다.
    – 최소값: 500
    – 최대값: 5000
    – 단위: ms

(여러번 터치 액션 Attributes 예제)

 

Double Touch #

화면 요소를 두번 터치하는 액션입니다.

Double Touch Attributes

  • UIObject: 두번 터치를 수행할 화면 요소가 출력됩니다.

(두번 터치 액션 Attributes 예제)

 

Long Touch #

화면 요소를 길게 터치하는 액션입니다.

Long Touch Attributes

  • UIObject: 길게 터치를 수행할 화면 요소가 출력됩니다.
  • duration: 터치를 얼마나 오래 유지할지 설정할 수 있습니다.
    – 기본값: 3000
    – 최소값: 1000
    – 최대값: 5000
    – 단위: ms

(길게 터치 액션 Attributes 예제)

​

Swipe #

스와이프할 수 있는 UIObject를 대상으로 좌우로 스와이프하는 액션입니다.

Swipe Attributes

  • area: 스와이프가 수행될 영역의 비율입니다. 수치가 작을 수록 적은 면적을 스와이프합니다.
    – 기본값: 60
    – 최소값: 1
    – 최대값: 100
    – 단위: %
  • UIObject: 스와이프를 수행하는 화면 요소가 출력됩니다.
  • direction: 스와이프를 왼쪽으로 할지, 오른쪽으로 할지 설정할 수 있습니다.
    – 기본값: LEFT
  • duration: 스와이프가 수행되는 시간을 나타냅니다.
    – 기본값: 2500
    – 최소값: 500
    – 최대값: 5000
    – 단위: ms

(스와이프 액션 Attributes 예제)

​

Scroll #

상하로 스크롤할 수 있는 화면 요소을 대상으로 스크롤하는 액션입니다. 전체 화면을 스크롤 할 때는 UIObject Selector 패널에서 Full Screen Strategy를 사용해 화면 요소를 생성한 스텝에 등록하면 됩니다.
주의) 안드로이드 기기에서 하단 영역에 터치 요소가 있거나 Navigation bar가 Swipe gesture로 설정되어 있을 때 Full Screen Strategy 로 화면 분석을 하여 Scroll 액션을 사용할 경우, area를 95% 이상으로 설정하면 Scroll 액션은 정상적으로 수행되나 실제 화면의 변화는 없을 수 있습니다.

Scroll Attributes

  • area: 스크롤 액션을 수행할 영역의 비율을 설정할 수 있습니다.
    – 기본값: 60
    – 최소값: 1
    – 최대값: 100
    – 단위: %
  • UIObject: 스크롤을 수행하는 화면 요소가 출력됩니다.
  • direction: 스크롤을 위로 할지, 아래로 할지 설정할 수 있습니다.
    – 기본값: UP
  • duration: 스크롤 액션을 수행하는 시간을 설정할 수 있습니다.
    – 기본값: 2500
    – 최소값: 500
    – 최대값: 5000
    – 단위: ms

(스크롤 액션 Attributes 예제)

​

Drag #

드래그 할 수 있는 두 개의 화면 요소를 필요로 합니다. 첫번째 화면 요소에서 두번째 화면 요소로 드래그 합니다.
주로 날짜나 시간을 설정하는 화면에서 주로 사용되는 액션입니다.


(드래그 액션 예제)

Drag Attributes

  • start UIObject: 드래그 액션을 시작하는 기준이 되는 화면 요소입니다.
  • end UIObject: 드래그 액션을 끝내는 기준이 되는 화면 요소입니다.
  • press duration: 드래그 액션을 시작하기 전에 오래 누르기를 먼저해야할 경우 설정할 수 있습니다. 바탕화면의 아이콘을 오래 눌어서 옮길 수 있게 한다음 다른 위치로 옮기는 동작을 구현할 수 있습니다.
    – 기본값: 0
    – 최소값: 0
    – 최대값: 5000
    – 단위: ms
  • drag duration: 드래그 액션이 수행되는데 걸리는 시간을 설정할 수 있습니다.
    – 기본값: 2500
    – 최소값: 500
    – 최대값: 5000
    – 단위: ms

(드래그 액션 Attributes 예제)

 

Pinch In / Pinch Out #

Zoom in, Zoom out 액션을 수행합니다.

Pinch In / Pinch Out Attributes

  • area: Pinch In/Out이 수행될 영역의 비율입니다.
    – 기본값: 60
    – 최소값: 50
    – 최대값: 100
    – 단위: %
  • UIObject: Pinch In/Out을 수행하는 화면 요소가 출력됩니다.
  • duration: 액션을 수행하는데 걸리는 시간을 설정할 수 있습니다.
    – 기본값: 2500
    – 최소값: 1000
    – 최대값: 5000
    – 단위: ms

(핀치 인/아웃 액션 Attributes 예제)

 

Input #

키보드로 특정 값을 입력하고자 할 때 사용합니다. 앱화면에 키보드가 활성화 된 상태에서 전체 화면을 UIObject로 설정하고 입력할 값을 Attributes 패널의 value 필드에 입력하세요.


(입력 액션 예제)

Input Attributes

  • value: 입력 필드에 입력될 문자열을 설정합니다.
  • UIObject: 문자열이 입력될 화면 요소를 나타냅니다. 만약 화면에 키보드가 활성화 되어 있을 경우에는 화면 전체를 UIObject로 설정하면 현재 활성화 되어 있는 입력 필드에 값이 입력됩니다.

(입력 Attributes 예제)

 

Secure Keyboard #

화면에 띄워진 보안키보드에 Attributes에서 설정한 입력값을 입력합니다.
주의) 보안키보드가 켜진 상태의 Full Screen Strategy를 사용해야합니다.

Secure Keyboard Attributes

  • value: 보안키보드에 입력할 값입니다.
  • UIObject: Secure Keyboard를 수행하는 UIObject 입니다.
  • typename: Secure Keyboard의 종류입니다. (자동으로 입력됩니다.)
  • interval: 키 입력 사이에 유휴시간을 설정할 수 있습니다.
    – 기본값: 1000
    – 최소값: 500
    – 최대값: 5000
    – 단위: ms

(보안 키보드 Attributes 예제 )

 


 

Variables #

테스트 도중 특정 값을 저장해 두거나, 랜덤하게 값을 생성하는 기능이 있습니다. 여기서 저장해 둔 값들은 다른 스텝에서 사용됩니다.
주의)key 값은 대소문자를 구분하지 않습니다.

Store Value #

작성자가 특정 값을 저장해 두는 용도로 사용됩니다.
예를 들어 로그인 아이디를 자주 입력해야 하는 시나리오를 작성해야 한다면, 초반에 값을 미리 설정해 두고 필요한 곳에서 불러와 쓸 수 있습니다.

Store Value Attributes

  • key: 값을 저장해 두고 다른 곳에서 사용할때 사용될 키값입니다.
  • value: key 값으로 저장되어 있는 실제 데이터 입니다.

(Store Value Attributes 예제)

 

Store Content #

화면의 특정 위치에 있는 문자열을 읽어들려 저장해 두는 기능입니다. 여기서 저장된 값을 다른 스텝에서 사용할 때는 key 값을 사용하면 됩니다.
자세한 사용법은 다음 예제를 참고하세요.

예제3: 특정 위치 단어 확인

Store Content Attributes

  • key: 다른 스텝에서 저장한 값을 사용할 때 쓰기 위한 식별자 입니다.
  • UIObject: 데이터를 읽어들일 화면 요소를 출력합니다.
  • pattern: 정규표현식을 사용할 수 있습니다. 만약 특정 위치에 대소문자 구분없이 “welcome”이라는 문구가 있을때만 값을 저장하고 싶으면 /welcome/i 정규표현식을 입력하면 됩니다.

(Store Content Attributes 예제)

 

Random Number #

랜덤으로 숫자를 생성해서 사용하고 싶을때 사용할 수 있는 기능입니다.

Random Number Atatributes

  • key: 저장한 값을 사용할 때 쓰기 위한 식별자 입니다.

(랜덤 숫자 생성 Attributes 예제)

 

Random Text #

랜덤하게 생성된 텍스트를 만들 수 있습니다.
랜덤 생성에 사용되는 문자는 영문 소문자(a-z), 영문 대문자(A-Z) 그리고 숫자 0-9 입니다.

Random Text Attributes

  • key: 저장한 값을 사용할 때 쓰기 위한 식별자 입니다.
  • prefix (optional): 텍스트 앞부분에 고정된 값을 사용하고 싶을 때 설정할 수 있습니다.
  • number of characters: 랜덤으로 생성할 문자 수를 지정할 수 있습니다. (1-10 중에 선택할 수 있습니다.)

(랜덤 문자열 생성 Attributes 예제)

 

Export Variable #

현재 시나리오에서 저장한 값(Store Value, Store Content, Random Number, Random Text)을 다른 시나리오에서 사용할 수 있도록 지정할 수 있습니다.
다른 시나리오에서 저장한 값을 사용하기 위해서는 먼저 해당 시나리오가 공유 시나리오가 되어야 하고, 사용할 값을 Export Variable로 지정해 줘야 합니다.

Export Variable Attributes

  • key: 다른 시나리오와 공유할 저장한 값의 key를 입력합니다.

(변수 공유 Attributes 예제)

 


 

Control #

시나리오에 분기점이 필요하거나 동일 스텝들을 반복해야 할 때 사용할 수 있는 기능들이 있습니다.

If UIObject #

설정한 UIObject가 화면 상에 존재하는지를 판단해서 자식 스텝을 실행합니다.


(부모 스텝과 자식 스텝 예제)


If UIObject Attributes

  • UIObject: 화면에 존재하는지 확인하는데 사용될 화면 요소가 출력됩니다.
  • comparator: 비교 조건을 선택할 수 있습니다.
    – EXISTS: 화면에 화면 요소가 존재한다면 자식 스텝을 실행합니다.
    – NOT EXISTS: 화면에 화면 요소가 존재하지 않는다면 자식 스텝을 실행합니다.

(If UIObject Attributes 예제 )

 

If Content #

UIObject 자체보다 UIObject의 실제 내용을 비교 대상으로 사용할 경우 쓰입니다. UIObject의 Text 정보를 OCR로 읽어 들여 Text 정보끼리 비교를 합니다.
If UIObject는 화면 요소 자체를 비교 대상으로 사용하는 반면, If Content는 화면 요소 자체 보다는 그 안에 포함되어 있는 Text 정보를 비교 대상으로 사용한다는 차이점이 있습니다.


(If Content 예제)

If Content Attributes

  • UIObject: 비교할 Text를 포함하고 있는 화면 요소가 출력됩니다.
  • comparator: 비교 조건을 선택할 수 있습니다.
    = : 화면 요소의 Text와 value가 똑같다면 자식 스텝을 실행합니다.
    != : 화면 요소의 Text와 value가 다르면 자식 스텝을 실행합니다.
    > : 화면 요소의 Text가 숫자이고 value 보다 크면 자식 스텝을 실행합니다.
    >= : 화면 요소의 Text가 숫자이고 value 보다 크거나 같으면 자식 스텝을 실행합니다.
    < : 화면 요소의 Text가 숫자이고 value 보다 작으면 자식 스텝을 실행합니다.
    <= : 화면 요소의 Text가 숫자이고 value 보다 작거나 같으면 자식 스텝을 실행합니다.
    match : 정규 표현식을 사용합니다. 화면 요소의 Text 시작 부분부터 1개 이상의 문자가 정규 표현식과 일치하면 자식 스텝을 실행합니다.
    만약, 화면 요소의 Text 전체와 일치여부를 조건으로 하려면 `/pattern$/`와 같이 `$`를 사용합니다.
    search : 정규 표현식을 사용합니다. 화면 요소의 Text 일부 또는 전체가 정규 표현식과 일치하면 자식 스텝을 실행합니다. ​

(If Content Attributes 예제 )

 

If Value #

Store Value/Content 또는 Random Number/Text 액션을 통해 저장된 값을 비교 대상으로 사용할 때 사용하는 액션입니다. 그래서 별도의 UIObject를 설정할 필요가 없습니다.
자세한 사용법은 다음 예제를 참고하세요.
예제5. 조건문 액션 사용하기

If Value Attributes

  • key: 이전에 Store Value/Content등으로 저장해 두었던 값의 key값을 입력합니다.
  • comparator: 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content’ 의 comparator 부분을 참조하세요.​​
  • value: 비교할 문자열 또는 숫자를 입력합니다.

(If Value Attributes 예제 )

 

If Changed #

If Changed 액션은 이전 스텝의 액션이 수행되기 직전 화면과 현재 디바이스 화면의 변화 여부를 비교해 조건을 충족할 경우 자식 스텝을 실행합니다.
화면의 특정 위치에 있는 컨텐츠의 내용 변화를 감지 할 수 있기 때문에 토스트 팝업이나 동영상 재생 여부 등을 판단해서 자식 스텝을 선택적으로 실행할 수 있습니다.
예를 들어 동영상이 재생중일 경우 동영상 재생을 중지하는 시나리오를 작성할 수 있습니다.
자세한 사용법은 아래 예제를 참고하세요.
예제6. 재생중인 동영상 정지하기

If Changed Attributes

  • UIObject: 화면 변화를 감지할 공간 요소가 출력됩니다.
  • threshold: 화면 요소가 얼만큼 변해야 변한 것으로 판정할지 수치를 지정할 수 있습니다. 수치가 작을수록 조금만 변해도 화면 요소가 변한것으로 간주합니다.
    – 기본값: 10
    – 최소값: 1
    – 최대값: 100
    – 단위: %
  • limit: 화면 변화를 언제까지 감지할지 한계를 설정할 수 있습니다. 설정시간 동안 화면 변화가 없다면 자식 스텝들은 실행되지 않고 다음 스텝으로 넘어갑니다.
    – 기본값: 5000
    – 최소값: 3000
    – 최대값: 10000
    – 단위: ms

 

Loop UIObject #

화면에 특정 화면 요소가 존재하는지 여부에 따라 자식 스텝을 반복하는 액션입니다.
가장 흔한 사용 예로, 리스트형 UI에서 원하는 컨텐츠가 나올때까지 스크롤을 반복해야 하는 경우을 시나리오로 작성할 때 주로 사용됩니다.
자세한 사용법은 아래 예제를 참고하세요.
예제2. 스크롤해서 아이템 찾기

Loop UIObject Attributes

  • UIObject: 존재 여부 판단에 사용될 화면 요소가 출력됩니다.
  • comparator: 비교 조건을 선택할 수 있습니다.
    – EXISTS: 화면에 화면 요소가 존재한다면 자식 스텝을 실행합니다.
    – NOT EXISTS: 화면에 화면 요소가 존재하지 않는다면 자식 스텝을 실행합니다.
  • limit: 자식 스텝의 최대 반복 횟수를 설정할 수 있습니다.
    – 기본값: 5
    – 최소값: 1
    – 최대값: 1000
    – 단위: 횟수

(Loop UIObject Attributes 예제 )

 

Loop Ntimes #

동일한 스텝을 여러번 반복해야 할 때 사용하면 좋은 액션입니다.
이 액션은 자식 스텝을 정해진 횟수만큼 반복 실행합니다.


(Play store에서 추천앱 상세보기 후 뒤로가기, 스와이프로 다음 앱으로 이동하는 과정을 Loop Ntimes로 반복하는 시나리오 예제)

Loop Ntimes Attributes

  • limit: 반복 횟수를 지정할 수 있습니다.
    – 기본값: 5
    – 최소값: 1
    – 최대값: 1000
    – 단위: 횟수

(Loop Ntimes Attributes 예제)

 

Loop Content #

반복을 위한 조건이 횟수 이외에 한 가지가 더 추가된 액션입니다. 화면상의 특정 위치에 있는 문자를 읽어 작성자가 지정한 값과 비교해서 반복 여부를 판단합니다.
자세한 사용법은 아래 예제를 확인하세요.

예제7. 알람 시간 설정하기

Loop Content Attributes

  • UIObject: 문자열을 읽어올 화면 요소가 출력됩니다.
  • comparator: 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content’ 의 comparator 부분을 참조하세요.
  • value: 비교할 문자열 또는 숫자를 입력합니다.
  • limit: 반복 횟수를 지정합니다.
    – 기본값: 5
    – 최소값: 1
    – 최대값: 1000
    – 단위: 횟수

(Loop Content Attributes 예제)

 

Loop Value #

Store Value/Content 또는 Random Number/Text 로 미리 저장해둔 값과 사용자가 설정한 값을 비교해서 자식 스텝을 실행합니다. 미리 설정한 값을 사용하기 때문에 별도의 화면 요소를 지정할 필요가 없습니다.
이 액션을 이용하면 이전 화면에서 잔여포인트를 읽어서 저장해 두고, 잔여포인트가 특정 수치에 도달할때까지 포인트를 추가하는 스텝을 반복하는 시나리오를 작성 할 수 있습니다.

Loop Value Attributes

  • key: 사전에 설정해 둔 값의 key값을 입력합니다.
  • comparator: 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content’ 의 comparator 부분을 참조하세요.​​
  • value: 비교할 문자열 또는 숫자를 입력합니다.
  • limit: 반복 횟수를 지정합니다.
    – 기본값: 5
    – 최소값: 1
    – 최대값: 1000
    – 단위: 횟수

(Loop Value Attributes 예제)

 

Loop Wait For #

설정한 화면 요소가 출력될때까지 기다리는 액션입니다. 로딩 시간이 불규칙적인 경우에 사용하면 테스트 수행 시간을 많이 단축할 수 있습니다.

(네트워크 속도가 느리거나 저사양 디바이스에서 구글맵을 실행했을 때 Search here라는 문자열이 뜰때까지 대기하는 예제)

Loop Wait For Attributes

  • UIObject: 화면에 출력되기를 기대릴 화면 요소가 출력됩니다.
  • limit: 설정한 시간을 초과할때까지 화면 요소가 출력되지 않으면 대기를 중단하고 다음 스텝을 실행합니다.
    – 기본값: 5000
    – 최소값: 1000
    – 최대값: 60000
    – 단위: ms

(Loop Wait For Attributes 예제)

 


 

Assertion #

화면상 특정 위치에 요소나 문자열이 있는지 검사할 때 사용하는 기능들입니다. 실제 테스트를 위해 사용되는 스텝 액션으로 여기 있는 액션을 통과하지 못하면 빨간색으로 에러 메시지가 출력되면서 시나리오가 중지 됩니다.
주로 특정 스텝 수행 후 그 스텝이 잘 진행되었는지 확인 하는 과정(예: 로그인 후 환영 메시지가 출력되는지 확인)에서 사용됩니다.

 

Assert UIObject #

지정한 화면 요소가 화면상에 존재하는지 검사하는 액션입니다.
이전 스텝 실행 후 현재 화면이 제대로 출력 되었는지 판단하고 싶을 때 사용할 수 있습니다.
자세한 사용법은 아래 예제를 참고하세요.
예제 9. 바탕화면 아이콘 검사하기

Assert UIObject Attributes

  • UIObject: 검사 대상이 될 화면 요소가 출력됩니다.
  • comparator: 비교 조건을 선택할 수 있습니다.
    주의) Comparator 에서 설정한 조건이 참이어야 검사가 통과해서 다음 스텝으로 넘어갑니다. 만약 comparator 조건이 거짓인 경우에는 custom message가 출력되고  type이 Error인 경우에는 여기서 시나리오가 멈추게 됩니다. 
    – EXISTS: 화면에 화면 요소가 존재한다면 검사가 성공합니다.
    – NOT EXISTS: 화면에 화면 요소가 존재하지 않는다면 검사가 성공합니다.
  • custom message: comparator 조건이 거짓일 경우 Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
  • type: comparator가 거짓인 경우 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
    – ERROR: 조건이 거짓이면 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
    – WARNING: 조건이 거짓이면 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.

(Assert UIObject Attributes 예시)

Assert Content #

지정한 화면 요소의 문자열 내용과 작성자가 입력한 값을 비교하는 검사 액션입니다. 화면 요소 자체의 존재 여부가 비교 대상인 Assert UIObject와는 다르게 화면 요소 안에 있는 문자 정보가 비교 대상이 됩니다.

Assert Content Attributes

  • UIObject: 검사 대상이 될 화면 요소가 출력됩니다.
  • comparator: 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content’ 의 comparator 부분을 참조하세요.​​
  • value: 화면 요소의 문장과 비교할 값을 입력합니다. 만약 이전에 설정해둔 값을 사용할 경우에는 ${key}를 입력합니다.
  • custom message: comparator 조건이 거짓일 경우 Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
  • type: comparator가 거짓인 경우 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
    – ERROR: 조건이 거짓이면 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
    – WARNING: 조건이 거짓이면 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.

(Assert Content Attributes 예시)

 

Assert Value #

이전 스텝에서 Store Value/Content 또는 Random Number/Text 등으로 설정해둔 값과 사용자가 지정한 값을 비교 검사하는 액션입니다.
이 액션은 사용자가 미리 설정해둔 값을 검사하는 액션이기 때문에 Assert UIObject, Assert Content와 달리 별도의 UIObject를 필요로 하지 않습니다.

Assert Value Attributes

  • key: 이전에 설정해둔 값의 key를 입력합니다.
    주의) attributes의 value에 key를 입력할 때  ${key}와 같은 형태로 입력하는 것과 달리 key값 만을 입력해야 합니다.
  • comparator: 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content’ 의 comparator 부분을 참조하세요.
  • value: 화면 요소의 문장과 비교할 값을 입력합니다. 만약 이전에 설정해둔 값을 사용할 경우에는 ${key}를 입력합니다.
  • custom message: comparator 조건이 거짓일 경우 Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
  • type: comparator가 거짓인 경우 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
    – ERROR: 조건이 거짓이면 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
    – WARNING: 조건이 거짓이면 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.

(Assert Value Attributes 예시)

 

Assert Changed #

Assert Changed는 이전 스텝의 액션이 수행되기 직전의 화면과 현재 디바이스의 화면의 변화 여부를 검사하는 액션입니다.
어떠한 액션 수행 후 특정 화면 요소나 위치의 내용이 변하는지를 검사할 때 사용할 수 있습니다.
주로 자동으로 나타나거나 사라지는 UI나 토글 버튼 변화 감지 시나리오 작성에 사용됩니다.
자세한 사용법은 아래 예제를 참고하세요.

예제 8. 사라지는 UI 확인하기

Assert Changed Attributes

  • UIObject: 화면 변화를 감지할 공간 요소가 출력됩니다.
  • threshold: 화면 요소가 얼만큰 변해야 변한것으로 판정할지 수치를 지정할 수 있습니다. 수치가 작을수록 조금만 변해도 화면 요소가 변한것으로 간주합니다.
    – 기본값: 10
    – 최소값: 1
    – 최대값: 100
    – 단위: %
  • limit: 화면 변화를 언제까지 감지할지 한계를 설정할 수 있습니다. 설정시간 동안 화면 변화가 없다면 검사를 실패한 것으로 간주합니다.
    – 기본값: 5000
    – 최소값: 3000
    – 최대값: 10000
    – 단위: ms
  • custom message: comparator 조건이 거짓일 경우 Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
  • type: comparator가 거짓인 경우 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
    – ERROR: 조건이 거짓이면 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
    – WARNING: 조건이 거짓이면 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.

(Assert Changed Attributes 예시)

 

Assert Wait For #

Assert UIObject와 유사하게 지정한 화면 요소가 화면상에 존재하는지를 검사합니다. 다만 화면 요소가 나타날때까지 얼마나 기다릴지 작업자가 선택할 수 있는 옵션이 추가된 점이 다른 점입니다.
주로 화면 로딩 시간이 불규칙적인 경우에 유용하게 사용할 수 있습니다.

Assert Wait For Attributes

  • UIObject: 검사 대상이 될 화면 요소가 출력됩니다.
  • limit: 화면 요소가 나타날때까지 얼마나 기다릴지 설정할 수 있습니다.
    – 기본값: 5000
    – 최소값: 1000
    – 최대값: 60000
    – 단위: ms
  • custom message: comparator 조건이 거짓일 경우 Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
  • type: comparator가 거짓인 경우 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
    – ERROR: 조건이 거짓이면 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
    – WARNING: 조건이 거짓이면 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.

(Assert Wait For Attributes 예시)

 

Assert Message #

특정 액션 이후 토스트 팝업이 잘 뜨는지 검사하는 액션입니다.
Assert Message는 limit으로 정해진 시간 동안 화면에 변화가 감지되면 변한 부분에 있는 문자를 읽어서 작성자가 입력한 value값과 비교하게 됩니다.

Assert Message Attributes

  • comparator: 비교 조건을 선택할 수 있습니다.
     = : 화면 요소의 Text와 value가 똑같은지 검사합니다.
     *= : value로 설정한 값이 화면 요소의 Text에 포함되어 있는지 검사합니다. 
    ^= : value로 설정한 값이 화면 요소의 Text에 시작 부분과 일치하는지 검사합니다. 
    $= : value로 설정한 값이 화면 요소의 Text에 끝 부분과 일치하는지 검사합니다. 
    match : 정규 표현식을 사용합니다. 화면 요소의 Text 시작 부분부터 1개 이상의 문자가 정규 표현식과 일치하면 자식 스텝을 실행합니다.
    만약, 화면 요소의 Text 전체와 일치여부를 조건으로 하려면 `/pattern$/`와 같이 `$`를 사용합니다.
    search : 정규 표현식을 사용합니다. 화면 요소의 Text 일부 또는 전체가 정규 표현식과 일치하면 자식 스텝을 실행합니다. ​
  • value: 토스트 팝업의 메세지를 입력합니다. 모든 메세지 내용을 입력할 수도 있고, 일부 값 만을 입력할 수도 있습니다. 만약 이전에 설정한 값을 사용할 경우에는 ${key}를 입력합니다.
  • limit: 화면 요소가 나타날때까지 얼마나 기다릴지 설정할 수 있습니다.
    – 기본값: 5000
    – 최소값: 3000
    – 최대값: 10000
    – 단위: ms
  • use previous screen: 이전 스텝의 액션이 수행되기 전의 화면 정보부터 화면 변화를 감지할 지 액션 이후 화면부터 변화를 감지할지 선택할 수 있습합니다. true로 설정하면 이전 스텝의 액션 수행 전 화면부터 화면 감지를 시작합니다.
  • custom message: comparator 조건이 거짓일 경우 Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
  • type: comparator가 거짓인 경우 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
    – ERROR: 조건이 거짓이면 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
    – WARNING: 조건이 거짓이면 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.

(Assert Message Attributes 예제)

 


 

Events #

Motion 이외에 디바이스에 줄 수 있는 다양한 이벤트들이 모여 있습니다. 예를 들어 세로 화면을 가로 화면으로 바꾸거나 앱 실행 혹은 종료 시키는 등의 이벤트를 발생 시킬 수 있습니다.

 

Rotate #

디바이스의 스크린 방향을 변경할 수 있습니다.(시계방향 270도로 회전)

Rotate Attributes

  • orientation: 회전 방향을 지정합니다.
    – PORTRAIT: 디바이스의 화면을 세로 방향으로 회전합니다.
    – LANDSCAPE: 디바이스의 화면을 가로 방향으로 회전합니다.

 

Wait #

다음 스텝을 실행할 때까지 설정한 시간만큼 대기합니다.

Wait Attributes

  • value: 대기 시간을 설정할 수 있습니다.
    – 기본값: 2000
    – 최소값: 500
    – 최대값: 5000
    – 단위: ms

 

Launch #

앱을 실행합니다.

Launch Attributes

  • Package Name: 실행할 앱이 안드로이드 앱일 경우 앱의 Package Name을 입력합니다.
  • Bundle ID: 실행할 앱이 아이폰 앱일 경우 앱의 Bundle ID를 입력합니다.

If you enter both values, the value to be used depends on the type of device on which the test runs.

안드로이드 Package Name 알아내는 방법 #

Step1. play.google.com에 접속해서 앱을 검색합니다.
Step2. 상단 주소창 부분에서 패키지 이름을 확인합니다. ?id=패키지이름 형식으로 되어 있습니다.

아이폰 Bundle ID 알아내는 방법 #

Step1. apple.com/kr/app-store에 접속해서 앱을 검색합니다.
Step2. 상단 주소창 부분에서 고유번호를 확인합니다. /id고유번호 형식으로 되어 있습니다.
Step3. 아래 형식의 주소를 브라우저에 입력합니다.
https://itunes.apple.com/lookup?id=unique number
Step4. txt 형태로 다운로드 된 파일을 열어서 Bundle ID 값을 확인합니다.


Terminate
#

실행중인 앱을 종료합니다.

Terminate Attributes

  • Package Name: 실행할 앱이 안드로이드 앱일 경우 앱의 Package Name을 입력합니다.
  • Bundle ID: 실행할 앱이 아이폰 앱일 경우 앱의 Bundle ID를 입력합니다.

두 값 모두 입력했을 경우 테스트가 실행되는 디바이스의 종류에 따라 사용될 값이 정해집니다.

 

Activate #

백그라운드에서 실행 중인 앱을 디바이스 화면에 띄웁니다.

Activate Attributes

  • Package Name: 실행할 앱이 안드로이드 앱일 경우 앱의 Package Name을 입력합니다.
  • Bundle ID: 실행할 앱이 아이폰 앱일 경우 앱의 Bundle ID를 입력합니다.

두 값 모두 입력했을 경우 테스트가 실행되는 디바이스의 종류에 따라 사용될 값이 정해집니다.

 

Home #

디바이스의 홈 화면으로 이동합니다. (홈 버튼 누르는 것과 동일 동작)

 

Lock #

디바이스를 잠금 상태로 변경합니다.

 

Unlock #

디바이스를 잠금 해제 합니다.

 

Wake Up #

장치가 슬립 상태일 때 슬립 모드를 해제합니다.

 

Keycode #

다양한 Keycode값을 입력할 수 있습니다. 기본으로 제공되는 Keycode 이외의 값을 Keycode를 직접 입력할 수 있습니다.
주의) Keycode 액션은 안드로이드 전용 액션입니다. 아이폰에서는 동작하지 않고 바로 다음 스텝으로 넘어갑니다.

Keycode Attributes

  • value: 입력할 Keycode값을 설정합니다. 직접 입력할 수도 있고, 클릭하면 나오는 기본 값을 선택할 수 도 있습니다.
    – Back(4): 안드로이드 Back 버튼 동작을 수행합니다.
    – Enter(66): 키보드 UI의 Go 버튼 동작을 수행합니다.
    – Del(67): 키보드 UI의 백스페이스 동작을 수행합니다.
    – AppSwitch(187): 안드로이드 앱전환 버튼 동작을 수행합니다.

(Keycode Attributes 예제 )

 


 

Advanced #

시나리오를 보다 풍성하게 작성하기 위한 고급 기능이 포함되어 있습니다. 현재는 Shared Scenario 기능만 있지만, 지속적으로 기능들이 업데이트 될 예정입니다.

 

Shared Scenario #

공유 상태로 설정된 시나리오를 불러와서 사용하는 액션입니다.
공유 시나리오를 만들고 사용하는 방법은 예제를 통해서 익히세요.
자세한 사용법은 아래 예제를 참고하세요.
예제10. 공유시나리오 사용하기

Shared Scenario Attributes

  • Shared Scenario: 사용할 공유 시나리오를 선택합니다.

(Shared Scenario Attributes 예제)

 

도움이 더 필요하신가요?

의견 보내기

Updated on 03/02/2023
시나리오 작성과 실행화면 분석 도구 목록
Table of Contents
  • 액션 리스트 확인하기
  • Motion
    • Touch
    • NTimes Touch
    • Double Touch
    • Long Touch
    • Swipe
    • Scroll
    • Drag
    • Pinch In / Pinch Out
    • Input
    • Secure Keyboard
  • Variables
    • Store Value
    • Store Content
    • Random Number
    • Random Text
    • Export Variable
  • Control
    • If UIObject
    • If Content
    • If Value
    • If Changed
    • Loop UIObject
    • Loop Ntimes
    • Loop Content
    • Loop Value
    • Loop Wait For
  • Assertion
    • Assert UIObject
    • Assert Content
    • Assert Value
    • Assert Changed
    • Assert Wait For
    • Assert Message
  • Events
    • Rotate
    • Wait
    • Launch
      • 안드로이드 Package Name 알아내는 방법
      • 아이폰 Bundle ID 알아내는 방법
    • Terminate
    • Activate
    • Home
    • Lock
    • Unlock
    • Wake Up
    • Keycode
  • Advanced
    • Shared Scenario