액션 리스트 확인하기 #
① + 버튼을 눌러 Step을 생성 합니다.
② 클릭하여 생성된 Step의 이름을 변경할 수 있습니다.
③ 생성된 Step에서 액션 선택 영역을 누르면 아래와 같이 선택 가능한 액션 리스트가 표시됩니다.
(액션 목록)
Motion
스마트폰 조작 시 사용하는 다양한 동작들을 모아 놓은 인터페이스입니다.
Event
Motion 이외에 디바이스에서 수행할 수 있는 다양한 제어 동작들이 모여 있습니다.
예를 들어, 세로 화면을 가로 화면으로 전환하거나 앱 실행 또는 종료하는 등의 이벤트를 발생시킬 수 있습니다.
Variable
테스트 중에 특정 값을 저장하거나 임의로 값을 생성하는 기능이 있습니다. 저장된 값들은 다른 스텝에서 활용될 수 있습니다.
Control
시나리오에 분기 조건이 요구되거나 동일한 단계를 반복해야 할 경우 활용할 수 있는 기능들이 존재합니다.
Assertion
화면의 특정 위치에 요소나 문자열이 존재하는지를 검사할 때 사용하는 기능입니다. 실제 테스트에 사용되는 단계에서 이 액션을 통과하지 못하면 빨간색 오류 메시지가 출력되며 시나리오가 중단됩니다. 주로 특정 단계 수행 후 해당 단계가 정상적으로 진행되었는지를 확인하는 과정에서 활용됩니다. (예: 로그인 후 환영 메시지가 출력되는지 확인)
Advanced
시나리오를 보다 풍부하게 작성하기 위한 고급 기능이 포함되어 있습니다.
Motion #
스마트폰 조작 시 사용하는 다양한 동작들을 모아 놓은 인터페이스입니다.
Touch #
화면 요소를 터치하는 동작으로, 단계 생성 시 가장 빈번하게 사용되는 액션입니다. 또한 새로운 단계를 만들 때 기본값으로 설정되어 있습니다.
Touch Attributes
- UIObject : 터치 액션을 수행할 화면 요소가 출력됩니다.
(터치 액션 Attributes 예제)
- type : 터치 액션의 타입을 결정할 수 있습니다.
– Single : 화면 요소를 한 번 터치합니다.
– Double : 화면 요소를 두 번 터치합니다.
– Long : duration 값을 설정하여 화면 요소를 duration 값 만큼 길게 터치합니다.
– duration : 얼마의 시간 동안 클릭을 유지할지 설정할 수 있습니다.
– 기본값 : 3,000 (ms)
– 값 범위 : 1,000 ~ 5,000 (ms)
– N Times : 화면 요소를 설정한 count 값만큼 반복하여 클릭합니다.
– count : 액션을 수행할 횟수를 설정할 수 있습니다.
– 기본값 : 2
– 값 범위 : 1 ~ 100
– interval : 액션과 액션 사이에 얼마의 시간 동안 쉴 지를 설정할 수 있습니다.
– 기본값 : 1,000 (ms)
– 값 범위 : 500 ~ 5,000 (ms)
Swipe #
UIObject를 대상으로 좌우로 스와이프하는 액션입니다.
Swipe Attributes
- UIObject : 스와이프를 수행하는 화면 요소가 출력됩니다.
- area : 스와이프가 수행될 영역의 비율입니다. 수치가 작을 수록 적은 면적을 스와이프합니다.
– 기본값 : 60 (%)
– 최소값 : 1 ~ 100 (%) - direction : 스와이프를 왼쪽으로 할지, 오른쪽으로 할지 설정할 수 있습니다.
– 기본값 : LEFT
– 값 범위 : LEFT/RIGHT - duration : 스와이프가 수행되는 시간을 나타냅니다.
– 기본값 : 2,500 (ms)
– 값 범위 : 100 ~ 5,000 (ms)
(스와이프 액션 Attributes 예제)
Scroll #
상하로 스크롤이 가능한 화면 요소에 대해 스크롤 동작을 수행하는 액션입니다.
전체 화면을 스크롤 할 경우 UIObject Selector 패널에서 Full Screen Strategy를 사용하여 화면 요소를 생성한 스텝에 등록해야 합니다.
유의사항) 다음과 같은 특정 상황에서는 스크롤이 수행이 되었지만, 실제 화면에서는 변동이 없을 수 있습니다.
– 스크롤 시작 위치에 터치 가능한 요소가 존재하는 경우
– Navigation bar가 Swipe gesture로 설정되어 있는 경우
Scroll Attributes
- UIObject : 스크롤을 수행할 화면 요소가 출력됩니다.
- area : 스크롤 동작이 수행될 영역의 비율을 설정할 수 있는 속성입니다.
– 기본값 : 60%
– 값 범위 : 1% ~ 100% - direction : 스크롤 방향을 설정하는 속성입니다. 위쪽 혹은 아래쪽으로 스크롤할지 선택할 수 있습니다.
– 기본값 : DOWN
– 값 범위 : DOWN/UP/BOTTOM/TOP
(BOTTOM과 TOP은 해당 방향으로 더 이상 화면을 이동할 수 없을 때까지 스크롤하는 기능입니다.) - duration : 스크롤 동작이 수행되는 시간을 설정하는 속성입니다.
– 기본값 : 2,500ms
– 값 범위 : 100ms ~ 5,000ms - Limit : 스크롤 방향이 BOTTOM 혹은 TOP으로 설정된 경우, 화면 이동에 대한 제한 시간을 설정할 수 있습니다.
– 기본값 : 10,000ms
– 값 범위 : 5,000ms ~ 600,000ms
단, direction 속성이 “UP” 또는 “DOWN”으로 설정된 경우 Limit 속성이 적용되지 않습니다.
(스크롤 액션 Attributes 예제)
Drag #
드래그할 수 있는 두 개의 화면 요소가 필요하며, 첫 번째 화면 요소에서 두 번째 화면 요소로 드래그하는 동작입니다. 주로 날짜나 시간을 설정하는 화면에서 사용되는 액션입니다.
(드래그 액션 예제)
Drag Attributes
- start UIObject : 드래그 액션을 시작하는 기준이 되는 화면 요소입니다.
- end UIObject : 드래그 액션을 끝내는 기준이 되는 화면 요소입니다.
- press duration : 드래그 액션을 시작하기 전에 오래 누르기를 먼저 해야 할 경우 설정할 수 있습니다. 바탕화면의 아이콘을 오래 눌어서 옮길 수 있게 한 다음 다른 위치로 옮기는 동작을 구현할 수 있습니다.
– 기본값 : 0 (ms)
– 값 범위 : 0 ~ 5,000 (ms) - drag duration : 드래그 액션이 수행되는데 걸리는 시간을 설정할 수 있습니다.
– 기본값 : 2,500 (ms)
– 값 범위 : 500 ~ 5,000 (ms)
(드래그 액션 Attributes 예제)
Pinch #
Zoom In, Zoom Out 액션을 수행합니다.
Pinch Attributes
- UIObject : Pinch In/Out을 수행하는 화면 요소가 출력됩니다.
- action area : Pinch In/Out이 수행될 영역의 비율입니다.
– 기본값 : 60 (%)
– 값 범위 : 50 ~ 100 (%) - direction : Pinch를 수행할 때 방향을 설정할 수 있습니다. (IN 방향은 Zoom out, OUT 방향은 Zoom In 동작을 합니다.)
– 기본값 : IN
– 값 범위 : IN/OUT - duration : 액션을 수행하는데 걸리는 시간을 설정할 수 있습니다.
– 기본값 : 2,500 (ms)
– 값 범위 : 1,000 ~ 5,000 (ms)
(Pinch IN/OUT 액션 Attributes 예제)
Input #
키보드로 특정 값을 입력하기 위해 사용됩니다. 앱 화면에서 키보드가 활성화된 상태에서 전체 화면을 UIObject로 설정한 후, 입력할 값을 Attributes 패널의 ‘value’ 필드에 할 수 있습니다.
(입력 액션 예제)
① 검색창을 클릭하여 키보드 활성화합니다.
② 키보드가 활성화된 화면을 화면 분석 도구에서 ‘Full Screen’으로 선택한 후, UIObject로 ‘Drag and Drop’하여 추가합니다.
③ ‘value’ 값에 원하는 문자열을 입력합니다.
Input Attributes
- UIObject : 문자열이 입력될 화면 요소를 나타냅니다. 만약 화면에 키보드가 활성화 되어 있을 경우에는 화면 전체를 UIObject로 설정하면 현재 활성화 되어 있는 입력 필드에 값이 입력됩니다.
- value : 입력 필드에 입력될 문자열을 설정합니다. Variable 액션 혹은 User variable로 저장한 값을 ${key name}으로 불러올 수도 있습니다.
(입력 Attributes 예제)
Secure Keyboard #
화면에 띄워진 보안키보드에 Attributes에서 설정한 입력값을 입력합니다.
주의) 보안키보드가 켜진 상태의 Full Screen Strategy를 사용해야합니다.
Secure Keyboard Attributes
- UIObject : Secure Keyboard를 수행하는 UIObject 입니다.
- value : 보안키보드에 입력할 값입니다.
- typename : Secure Keyboard의 종류입니다. (AI가 인식한 종류로 자동 입력됩니다.)
- interval : 키 입력 사이에 유휴시간을 설정할 수 있습니다.
– 기본값 : 1,000 (ms)
– 값 범위 : 500 ~ 5,000 (ms)
(보안 키보드 Attributes 예제 )
Event #
Motion 이외에 디바이스에 줄 수 있는 다양한 이벤트들이 모여 있습니다.
예를 들어 세로 화면을 가로 화면으로 바꾸거나 앱 실행 혹은 종료 시키는 등의 이벤트를 발생 시킬 수 있습니다.
Rotate #
디바이스의 스크린 방향을 변경할 수 있습니다.(시계방향 270도로 회전)
Rotate Attributes
- orientation : 회전 방향을 지정합니다.
– PORTRAIT : 디바이스의 화면을 세로 방향으로 회전합니다.
– LANDSCAPE : 디바이스의 화면을 가로 방향으로 회전합니다.
Wait #
다음 스텝을 실행할 때까지 설정한 시간만큼 대기합니다.
Wait Attributes
- value : 대기 시간을 설정할 수 있습니다.
– 기본값 : 2,000 (ms)
– 값 범위 : 500 ~ 600,000 (ms)
Launch #
Launch 액션은 선택한 모드로 앱을 실행하거나, 브라우저 앱을 통해 URL 이동을 합니다.
Launch Attributes (APP Mode)
- Package Name : 실행할 앱이 안드로이드 앱일 경우, 앱의 Package Name을 입력합니다.
- Bundle ID : 실행할 앱이 아이폰 앱일 경우, 앱의 Bundle ID를 입력합니다.
Launch Attributes (BROWSER Mode)
- URL : 이동할 URL 주소를 입력합니다.
- Android : 테스트를 진행하는 OS가 안드로이드인 경우, 실행할 브라우저 앱을 지정합니다.
- iOS : 테스트를 진행하는 OS가 iOS인 경우, 실행할 브라우저 앱을 지정합니다.
APP Mode를 사용하여 앱을 실행하려면 앱 ID가 필요합니다.
Stego상에서 간단하게 앱 ID를 알아낼 수 있습니다.
“App 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 Attributes
– value : 입력할 Keycode값을 설정합니다. 직접 입력할 수도 있고, 클릭하면 나오는 기본 값을 선택할 수 도 있습니다. 아래는 자주 쓰이는 예시입니다.
– Back(4) : 안드로이드 Back 버튼 동작을 수행합니다.
– Enter(66) : 키보드 UI의 Go 버튼 동작을 수행합니다.
– Del(67) : 키보드 UI의 백스페이스 동작을 수행합니다.
– AppSwitch(187) : 안드로이드 앱전환 버튼 동작을 수행합니다.
– count : 액션을 수행할 횟수를 설정할 수 있습니다.
– 기본값 : 1
– 값 범위 : 1 ~ 100
– interval : 액션과 액션 사이에 얼마의 시간 동안 쉴지를 설정할 수 있습니다.
– 기본값 : 1,000 (ms)
– 값 범위 : 500 ~ 5,000 (ms)
(Keycode Attributes 예제)
Variable #
테스트 도중 특정 값을 저장해 두거나, 랜덤하게 값을 생성하는 기능이 있습니다. 여기서 저장해 둔 값들은 다른 스텝에서 사용됩니다.
주의) key 값은 대소문자를 구분하지 않습니다.
Store Value #
작성자가 특정 값을 저장해 두는 용도로 사용됩니다.
예를 들어 로그인 아이디를 자주 입력해야 하는 시나리오를 작성해야 한다면, 초반에 값을 미리 설정해 두고 필요한 곳에서 불러와 쓸 수 있습니다.
Store Value Attributes
- key : 값을 저장해 두고 다른 곳에서 사용할때 사용될 키값입니다.
- value : key 값으로 저장되어 있는 실제 데이터 입니다.
(Store Value Attributes 예제)
Store Content #
화면의 특정 위치에 있는 문자열을 읽어들여 저장해 두는 기능입니다. 여기서 저장된 값을 다른 스텝에서 사용할 때는 key 값을 사용하면 됩니다.
자세한 사용법은 다음 예제를 참고하세요.
예제 3: 특정 위치 단어 확인
Store Content Attributes
- UIObject : 데이터를 읽어들일 화면 요소를 출력합니다.
- key : 다른 스텝에서 저장한 값을 사용할 때 쓰기 위한 식별자 입니다.
- type : 문자열을 어떻게 저장할 건지 선택할 수 있습니다.
– String : 문자열 그대로 저장합니다.
– Number : 문자열 중 숫자만 저장합니다. - pattern : 정규표현식을 사용할 수 있습니다. 만약 특정 위치에 대소문자 구분없이 “welcome”이라는 문구가 있을때만 값을 저장하고 싶으면 /welcome/i 정규표현식을 입력하면 됩니다.
(Store Content Attributes 예제)
Store Random Number #
랜덤으로 0~100 사이의 숫자를 생성해서 사용하고 싶을때 사용할 수 있는 기능입니다.
Store Random Number Atatributes
- key : 저장한 값을 사용할 때 쓰기 위한 식별자 입니다.
(랜덤 숫자 생성 Attributes 예제)
Store Random Text #
랜덤하게 생성된 텍스트를 만들 수 있습니다.
랜덤 생성에 사용되는 문자는 영문 소문자(a-z), 영문 대문자(A-Z) 그리고 숫자 0-9 입니다.
Store Random Text Attributes
- key : 저장한 값을 사용할 때 쓰기 위한 식별자 입니다.
- prefix (optional) : 텍스트 앞부분에 고정된 값을 사용하고 싶을 때 설정할 수 있습니다.
- number of characters : 랜덤으로 생성할 문자 수를 지정할 수 있습니다.
– 기본값 : 3
– 값 범위 : 1 ~ 10
(랜덤 문자열 생성 Attributes 예제)
Control #
시나리오에 분기점이 필요하거나 동일 스텝들을 반복해야 할 때 사용할 수 있는 기능들이 있습니다.
If UIObject #
설정한 UIObject가 화면 상에 존재하는지를 판단해서 자식 스텝을 실행합니다.
(부모 스텝과 자식 스텝 예제)
If UIObject Attributes
- UIObject : 화면에 존재하는지 확인하는데 사용될 화면 요소가 출력됩니다.
- comparator : 비교 조건을 선택할 수 있습니다.
– EXISTS : 화면에 화면 요소가 존재한다면 자식 스텝을 실행합니다.
– NOT EXISTS : 화면에 화면 요소가 존재하지 않는다면 자식 스텝을 실행합니다.
(If UIObject Attributes 예제 )
If Content #
인식한 UIObject의 영역 안에 있는 실제 내용을 비교 대상으로 사용할 경우 쓰입니다. UIObject 영역 안의 Text 정보를 OCR로 읽어 들여 Value와 비교를 합니다.
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 일부 또는 전체가 정규 표현식과 일치하면 자식 스텝을 실행합니다.
color : 화면 요소의 정중앙에 있는 색 정보와 일치하는지 확인합니다. (RGB값 유사도를 비교하며 90% 이상 유사하면 PASS입니다.)
(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 : 화면 변화를 언제까지 감지할지 한계를 설정할 수 있습니다. 설정 시간 동안 화면 변화가 없다면 자식 스텝들은 실행되지 않고 다음 스텝으로 넘어갑니다.
– 기본값 : 5,000 (ms)
– 값 범위 : 3,000 ~ 10,000 (ms)
(If Changed Attributes 예제)
Loop UIObject #
화면에 특정 화면 요소가 존재하는지 여부에 따라 자식 스텝을 반복하는 액션입니다.
가장 흔한 사용 예로, 리스트형 UI에서 원하는 컨텐츠가 나올때까지 스크롤을 반복해야 하는 경우를 시나리오로 작성할 때 주로 사용됩니다.
자세한 사용법은 아래 예제를 참고하세요.
예제2. 스크롤해서 아이템 찾기
Loop UIObject Attributes
- UIObject : 존재 여부 판단에 사용될 화면 요소가 출력됩니다.
- comparator : 비교 조건을 선택할 수 있습니다.
– EXISTS : 화면에 화면 요소가 존재한다면 자식 스텝을 실행합니다.
– NOT EXISTS : 화면에 화면 요소가 존재하지 않는다면 자식 스텝을 실행합니다. - limit : 자식 스텝의 최대 반복 횟수를 설정할 수 있습니다.
– 기본값 : 5 (times)
– 값 범위 : 1 ~ 1,000 (times)
(Loop UIObject Attributes 예제 )
Loop NTimes #
동일한 스텝을 여러번 반복해야 할 때 사용하면 좋은 액션입니다.
이 액션은 자식 스텝을 정해진 횟수만큼 반복 실행합니다.
(화면에 X버튼이 있다면 키보드의 지우기 버튼을 클릭하는 동작을 10번 반복하는 시나리오 예제)
Loop NTimes Attributes
- limit : 반복 횟수를 지정할 수 있습니다.
– 기본값 : 5 (times)
– 값 범위 : 1 ~ 1,000 (times)
(Loop NTimes Attributes 예제)
Loop Content #
반복을 위한 조건이 횟수 이외에 한 가지가 더 추가된 액션입니다.
화면상의 특정 위치에 있는 문자를 읽어 작성자가 지정한 값과 비교해서 반복 여부를 판단합니다.
자세한 사용법은 아래 예제를 확인하세요.
예제7. 알람 시간 설정하기
Loop Content Attributes
- UIObject : 문자열을 읽어올 화면 요소가 출력됩니다.
- comparator : 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content‘ 의 comparator 부분을 참조하세요.
- value : 비교할 문자열 또는 숫자를 입력합니다.
- limit : 반복 횟수를 지정합니다.
– 기본값 : 5 (times)
– 값 범위 : 1 ~ 1,000 (times)
(Loop Content Attributes 예제)
Loop Value #
Store Value/Content 또는 Store Random Number/Text 로 미리 저장한 값과 사용자가 설정한 값을 비교해서 자식 스텝을 실행합니다.
미리 설정한 값을 사용하기 때문에 별도의 화면 요소를 지정할 필요가 없습니다.
이 액션을 이용하면 이전 화면에서 잔여포인트를 읽어서 저장해 두고,
잔여포인트가 특정 수치에 도달할때까지 포인트를 추가하는 스텝을 반복하는 시나리오를 작성 할 수 있습니다.
Loop Value Attributes
- key : 사전에 설정해 둔 값의 key값을 입력합니다.
- comparator : 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content’ 의 comparator 부분을 참조하세요.
- value : 비교할 문자열 또는 숫자를 입력합니다.
- limit : 반복 횟수를 지정합니다.
– 기본값 : 5 (times)
– 값 범위 : 1 ~ 1,000 (times)
(Loop Value Attributes 예제)
Wait For #
설정한 화면 요소가 출력될때까지 기다리는 액션입니다. 화면 전환이 이뤄지는 곳에서 많이 사용됩니다.
로딩 시간이 불규칙적인 경우에 사용하면 테스트 수행 시간을 많이 단축할 수 있습니다.
(네트워크 속도가 느리거나 저사양 디바이스가 playstore에서 facebook 검색결과 문자열이 출현할 때까지 대기하는 예제)
Wait For Attributes
- UIObject : 화면에 출현되는 것을 기다리는 화면 요소가 출력됩니다.
- until : 화면 요소가 보일 때까지 기다릴건지, 사라질 때까지 기다릴건지 설정합니다. (EXISTS, NOT EXISTS)
- limit : 설정한 시간을 초과할때까지 화면 요소가 출력되지 않으면 대기를 중단하고 다음 스텝을 실행합니다.
– 기본값 : 5,000 (ms)
– 값 범위 : 1,000 ~ 600,000 (ms)
(Wait For Attributes 예제)
Assertion #
화면상 특정 위치에 요소나 문자열이 있는지 검사할 때 사용하는 기능들입니다.
실제 테스트를 위해 사용되는 스텝 액션으로 여기 있는 액션을 통과하지 못하면 빨간색으로 에러 메시지가 출력되면서 시나리오가 중지 됩니다.
주로 특정 스텝 수행 후 그 스텝이 잘 진행되었는지 확인하는 과정에서 사용됩니다.
(예 : 로그인 후 환영 메시지의 출현여부 확인)
Assert UIObject #
지정한 화면 요소가 화면상에 존재하는지 검사하는 액션입니다.
이전 스텝 실행 후 현재 화면이 제대로 출력 되었는지 판단하고 싶을 때 사용할 수 있습니다.
자세한 사용법은 아래 예제를 참고하세요.
예제 9. 바탕화면 아이콘 검사하기
Assert UIObject Attributes
- UIObject : 검사 대상이 될 화면 요소가 출력됩니다.
- comparator : 비교 조건을 선택할 수 있습니다.
– EXISTS : 화면에 화면 요소가 존재한다면 검사가 성공합니다.
– NOT EXISTS : 화면에 화면 요소가 존재하지 않는다면 검사가 성공합니다.
주의) Comparator 에서 설정한 조건의 결과가 참이어야 검사가 통과해서 다음 스텝으로 넘어갑니다.
만약 comparator 에서 설정한 조건의 결과가 거짓인 경우에는 custom message가 출력되고, type이 Error인 경우에는 여기서 시나리오가 멈추게 됩니다. - 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}를 입력합니다.
- limit : 화면 요소를 얼마나 기다릴 지 설정합니다.
– 기본값 : 0 (ms)
– 값 범위 : 0 ~ 600,000 (ms) - custom message : comparator 조건의 결과가 거짓일 경우, Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
- type : comparator 조건의 결과가 거짓인 경우, 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
– ERROR : 조건의 결과가 거짓이면, 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
– WARNING : 조건의 결과가 거짓이면, 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.
(Assert Content Attributes 예시)
Assert Value #
이전 스텝에서 Store Value/Content 또는 Store 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 : 화면 변화를 언제까지 감지할지 한계를 설정할 수 있습니다. 설정시간 동안 화면 변화가 없다면 검사를 실패한 것으로 간주합니다.
– 기본값 : 5,000 (ms)
– 값 범위 : 3,000 ~ 10,000 (ms) - custom message : comparator 조건의 결과가 거짓일 경우, Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
- type : comparator 조건의 결과가 거짓인 경우, 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
– ERROR : 조건의 결과가 거짓이면, 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
– WARNING : 조건의 결과가 거짓이면, 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.
(Assert Changed Attributes 예시)
Assert Wait For #
Assert UIObject와 유사하게 지정한 화면 요소가 화면상에 존재하는지를 검사합니다. 다만 화면 요소가 나타날때까지 얼마나 기다릴지 작업자가 선택할 수 있는 옵션이 추가된 점이 다른 점입니다. 주로 화면 로딩 시간이 불규칙적인 경우에 유용하게 사용할 수 있습니다.
Assert Wait For Attributes
- UIObject : 검사 대상이 될 화면 요소가 출력됩니다.
- until : 화면 요소가 보일 때까지 기다릴건지, 사라질 때까지 기다릴건지 설정합니다. (EXISTS, NOT EXISTS)
- limit : 화면 요소가 나타날때까지 얼마나 기다릴지 설정할 수 있습니다.
– 기본값 : 5,000 (ms)
– 값 범위 : 1,000 ~ 60,000(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 : 비교 조건을 선택할 수 있습니다. 자세한 사항은 ‘If Content’ 의 comparator 부분을 참조하세요.
- value : 토스트 팝업의 메세지를 입력합니다. 모든 메세지 내용을 입력할 수도 있고, 일부 값 만을 입력할 수도 있습니다. 만약 이전에 설정한 값을 사용할 경우에는 ${key}를 입력합니다.
- limit : 화면 요소가 나타날때까지 얼마나 기다릴지 설정할 수 있습니다.
– 기본값 : 5,000 (ms)
– 값 범위 : 3,000 ~ 10,000 (ms) - use previous screen : 이전 스텝의 액션이 수행되기 전의 화면 정보부터 화면 변화를 감지하거나, 액션 이후 화면부터 변화를 감지할지 선택할 수 있습니다. true로 설정하면 이전 스텝의 액션 수행 전 화면부터 화면 감지를 시작합니다.
- custom message : comparator 조건의 결과가 거짓일 경우, Output으로 출력할 메시지를 입력할 수 있습니다. 입력하지 않으면 거짓인 이유가 출력됩니다.
- type : comparator 조건의 결과가 거짓인 경우, 검사 결과를 Error로 출력할지 Warning으로 출력할지 선택할 수 있습니다.
– ERROR : 조건의 결과가 거짓이면, 빨간색으로 결과가 출력되며 시나리오가 중단됩니다.
– WARNING : 조건의 결과가 거짓이면, 노란색으로 결과가 출력되며 다음 스텝이 계속 진행됩니다.
(Assert Message Attributes 예제)
Advanced #
시나리오를 보다 풍성하게 작성하기 위한 고급 기능이 포함되어 있습니다.
Common Scenario #
공통 상태로 설정된 시나리오를 불러와서 사용하는 액션입니다.
공통 시나리오를 만들고 사용하는 방법은 예제를 통해서 익히세요.
자세한 사용법은 아래 예제를 참고하세요.
예제10. 공통시나리오 사용하기
Common Scenario Attributes
- Common Scenario : 사용할 공통 시나리오를 선택합니다.
(Common Scenario Attributes 예제)
Script #
숫자연산, 외부 API 호출 등 코드상의 도움이 필요할 경우에 사용하는 기능입니다.
Variable로 저장된 값을 Script에 가져와 연산을 하거나, Script 안에서 코드로 처리된 값을 Variable로 저장할 수 있습니다.
- language : Script Editor에서 사용할 언어를 선택합니다.
– 기본값 : python
– 값 범위 : python/bash - script : 화면 클릭하여 바로 script 작성할 수 있습니다.
– Copy : 버튼 클릭하여 Script Editor에 저작된 모든 코드를 복사할 수 있습니다.
– Expand : 버튼 클릭하여 Script Editor 모달창이 열리고, 큰 화면에서 script 작성할 수 있습니다.
– Run Code : 버튼 클릭하여 Script Editor 전체화면에서 코드를 실행할 수 있습니다. - timeout : script 실행에 허용되는 최대 실행 시간을 설정할 수 있습니다.
– 기본값 : 10,000
– 값 범위 : 3,000 – 1,200,000
(Script Attributes 예제)
Block #
시나리오의 유지보수성을 높이기 위해 제공되는 기능입니다.
여러 스텝을 하나의 Block 스텝으로 묶어서 어떤 단계가 진행되는지 표시할 수 있습니다.
- description : Block 내용에 대한 설명을 적을 수 있는 공간입니다.
(Block 예제)
Finish #
임의로 테스트를 종료시키는 스텝입니다.
테스트 수행 도중 Finish 스텝을 실행하면 즉시 시나리오 실행이 중지됩니다.
Finish 스텝으로 중지된 시나리오는 설정한 type 값에 따라
결과 상태를 PASS/ERROR/WARNING 으로 표기합니다.
또한, 설정한 메시지 값으로 Output Log에 기록을 남길 수 있습니다.
- type : PASS / WARNING / ERROR 중에 선택한 값으로 테스트 결과를 지정하고, 시나리오 수행을 종료합니다.
- message : 테스트를 종료시키는 이유에 대해 메시지를 남깁니다.
(Finish 예제)