don't stop believing

GUITAR 예제 스크립트를 확인해 봅시다. 본문

Testing Automation/GUITAR

GUITAR 예제 스크립트를 확인해 봅시다.

Tongchun 2018. 5. 9. 17:08

GUITAR를 배우는데 예제 스크립트만한게 없는것 같습니다.

GUITAR는 많은 기능 설명을 예제 스크립트로 만들어 놨습니다. 하나씩 따라하거나 예제 스크립트를 참고해서 사용하면 좋을 것 같습니다.

아래 리스트는 예제 스크립트의 간단한 정리 입니다.


예제 스크립트느 GUITAR 설치 폴더안에 있습니다. 

(C:\GUITAR\DATA\TESTCASE\SAMPLE)




01_네이버검색

네이버 검색화면에서 검색어를 입력하고 검색된 내용을 확인합니다.


02_변수사용

변수를 선언하고 선연된 변수에 값을 할당하고 활용합니다.


03_브라우저실행종료

브라우저를 실행시키고 종료 시킵니다. IE, FireFox(FF), Safari(SA), CR(Chrome)


04_클릭

2개의 인접한 이미지를 찾아 클릭합니다.

검색목록에서 "육칠팔분당점, 거리뷰버튼"을 클릭한다. 라고 했을때 육칠팔분당점 이미지를 찾고 그 옆에 있는 거리뷰버튼을 클릭합니다.


05_팝업윈도우

브라우저의 팝업 윈도우를 선택하고 활용합니다.

팝업 메시지창이 아닌 팝업 윈도우 창입니다.


06_조건문

이미지 및 Text 존재 여부 및 변수값 일치 에 따른 다양한 조건문을 사용합니다.

exist에 해당하는 '있으면', '없으면', 변수값에 대한 일치 여부를 확인하는 '같으면', '같지않으면' 및 중첩 if문을 설명합니다.


07_참조실행

다른 스크립트에서 참조되어 사용되는 스크립트입니다.

하나의 스크립트에서 다른 스크립트를 호출할 수 있고 변수도 공유할 수 있습니다.

스크립트 하나가 100줄이 넘어갈 만큼 길 경우 구간을 나워 스크립트 파일로 저장할 수 있습니다.

그리고 각각의 독립된 스크립트를 하나의 스크립트로 참조실행되게 만들어 한번에 실행시킬 수 있습니다.


08_대기

다양한 형태로 대기 명령을 지정 할 수 있습니다.

'대기'명령은 time.sleep과 동일합니다.

쉼표(,) 하나는 0.5초를 대기를 나타냅니다.


09_마우스

클릭, 이동, 더블클릭, 드래그, 드롭, 마우스휠다운, 마우스휠업, 마우스숨김 등 다양한 마우스관련 예제 스크립트 입니다.


10_PreScript

"전체실행"시 공용스크립트가 자동실행되어, 스크립트 내부에서 변수 설정없이 변수를 바로 사용할 수 있습니다.

(.\DATA\COMMON\SCRIPT\공용변수.txt)


11_계산

"계산" 명령을 통해 사칙연산을 수행하거나, AutoIt 내부 함수를 실행할 수 있습니다.

AutoIt: https://www.autoitscript.com/site/

AutoIt 내부 함수 리스트: https://www.autoitscript.com/autoit3/docs/functions/


12_테이블변수

테이블변수 기능을 사용하여 반복 테스트시 데이터값을 변경하여 테스트할 수 있습니다.

for 문과 같은 스크립트도 확인할 수 있습니다.


13_브라우저

IE, FIREFOX, SAFARI, CHROM 브라우저를 통한 1~3단계 네이버 로그인 테스트 스크립트 입니다.


14_공용스크립트및이미지

시스템 공용자원을 사용합니다.

공용자료는 1차 자신의 서비스 공용폴더(COMMON\IMAGE or SCRIPT\서비스명\...)에서 찾게됩니다.

공용자료는 2차 자신의 Pulic 공용폴더(COMMON\IMAGE or SCRIPT\Public\...)에서 찾게됩니다.

서비스에 관련되 자료는 서비스 공용폴더를 이용하고, 서비스와 관계없이 모두 공유해서 사용하는 자료는 Public 하위에 위치하도록 합니다.


15_HOST변경

특정 파일을 hosts 파일로 덮어쓰는 예제입니다.


16_스크립트구조

CrossBrowser 테스트를 위한 효율적인 테스트 스크립트 구조입니다.


17_반복

for문을 설명한 예제 스크립트 입니다.


18_자바스크립트오류

오류가 발생되는 페이지로 이동하여 오류를 자동으로 점검함. (IE, FIREFOX, CHROME 지원)

어떤설 설명하는지 모르겠음.


19_전체대상작업

브라우저창이 아닌 시스템 모달창을 클릭하고 확인하는 기능을 설명한 예제입니다.

"전체대상작업" 명령을 사용하여 브라우저 뿐만 아니라 윈도우 화면 모든 영역을 확인하고 클릭할 수 있습니다.


20_캡쳐

"캡쳐", "부분캡쳐" 를 사용한 다양한 화면 캡쳐 방법을 설명합니다.

"부분캡쳐" 로 캡쳐된 내용은 결과리포트 화면에서 별도 이미지만 따로 리포트 파일이 제공됩니다.


21_검색화면캡쳐

3회 반복해서 인물검색을 수행하고 검색된 결과를 이미지로 캡쳐하여 저장합니다.

저장된 결과는 최종 리포트화면에서 이미지리포트로 별도 확인 할 수 있습니다.


22_시스템변수

각종 시스템변수의 활용 예제 스크립트 입니다.


23_Tag

이미지 대신 IE의 DOM Object를 통해 명령을 수행합니다.


24_Tag속성

다양한 형태의 DOM Object의 속성값을 지정하는 예제 스크립트 입니다.

지속적으로 내용이 변경(롤링)되는 화면에서 특정 항목을 클릭해서 상세화면으로 이동되는지 확인하는 예제 스크립트 입니다.

DOM을 이용한 Input, CheckBox, DropDownBox의 값을 지정하고 읽는 예제 스크립트 입니다.


25_좌표보정

"$GUITAR_X좌표보정", "$GUITAR_Y좌표보정" 시스템 변수를 사용하여 상대적인 위치를 클릭하거나 드래그할 수 있습니다.


26_샘플서비스

효율적인 사용을 위한 스크립트 구조를 설명하는 예제 스크립트 입니다.


27_부분대상작업

"부분대상작업" 기능을 사용하여 동일 이미지가 여러군데 있을 경우 특정 구역을 지정하여 해당 구역에서만 이미지를 찾거나, 클릭하도록 제한 할 수 있습니다.


28_시스템팝업

시스템 팝업 상자를 선택하고 클릭하는 예제 스크립트 입니다.


29_로그쓰기

변수내용이나 특정 값을 로그로 남겨 테스트결과 리포트 화면에서 볼 수 있습니다.


30_부분설정

부분설정을 통해 테이블 변수에서 1개 값을 읽어와 내부적으로 이를 나누어서 사용할 수 있습니다.


31_문자열처리

"계산" 명령을 통해 AutoIt 내부 문자열 처리 함수를 활용 하는 예제 스크립트 입니다.


32_내장함수(Email및SMS)

SMS 및 Email 발송이 가능합니다.

(Email은 INI에서 SMTP 설정 필요. SMS는 별도 IP등록 작업 필요.)


33_내장함수(UTF8및EUCKR)

GUITAR 내장함수 예제 (UTF-8 및 EUC-KR 변환) 스크립트 입니다.


34_파일저장

반복수행된 테스트 결과를 작업폴더에 csv 형태 파일로 저장하고, 엑셀로 불러올 수 있습니다.


35_브라우저속도측정

4개 URL로 각각 3번씩 접속하여 페이지 로딩시간을 파일로 기록하는 스크립트 입니다.

IE는 브라우저 DocumentComplete 이벤트 발생시간을, 그외의 브라우저는 브라우저 상단 로딩완료 이미지 변경시간을 기준으로 합니다.


36_투명이미지검색

이미지의 테두리 부분을 "투명" 색상으로 지정하여 배경에 관계없이 이미지 검색하는 예제 스크립트 입니다.

이미지 파일명에 "_투명" 이 추가된 경우 이미지 주변색상(예제에서는 빨강색)을 투명 처리하여 제외하고 이미지를 찾습니다.


37_AU3실행

"값1, 값2" 를 AU3 변수로 지정한뒤 cacl.au3에서 해당 변수를 활용해 곱하기 계산을 하여 "곱하기결과" 변수에 저장하는 예제 스크립트 입니다.


What is a AU3 file?

Automated script created with AutoIt v3, a freeware scripting program that uses a programming language similar to BASIC; designed for automating commands within Windows and for other general scripting purposes.


More Information

The AU3 file format stores AutoIt3 scripting language. The script can be used to simulate keystrokes, mouse movement, and manipulate windows, which can automate tasks that are not possible with VBScript or SendKeys.


38_모바일_아이폰

UltraVNC를 이용해 모바일 디바이스와 연결해 iOS를 테스트하는 예제 스크립트 입니다.

(테스트 전에 UltraVNC로 아이폰에 원격접속이 된 상태이어야 함.)


39_모바일_안드로이드

UltraVNC를 이용해 모바일 디바이스와 연결해 Android를 테스트하는 예제 스크립트 입니다.

(테스트 전에 UltraVNC로 아이폰에 원격접속이 된 상태이어야 함.)


40_대상캡쳐

파일에 저장된 정보를 이용하여 반복적으로 컨텐츠 검수를 진행합니다.

"대상캡쳐" 명령을 통해 찾은 Tag를 이미지로 바로 저장하고, 관련된 내용이 있는지를 확인합니다.


41_캡쳐이미지검색

캡쳐된 이미지를 실시간으로 "확인" 명령 등의 명령으로 재활용 가능합니다.


42_링크확인

데이터 파일을 사용하여 반복적으로 팝업창으로 열리는 링크의 정상 작동을 확인하는 예제 스크립트 입니다.


43_임의데이터선택

Random 함수로 테이블변수에서 사용할 Line을 지정하여 데이터를 가져와 테스트를 수행하는 스크립트 입니다.


44_URL주소얻기

브라우저에에서 URL 주소를 얻기 위한 방법입니다.


45_TAG개수얻기

IE 브라우저만 지원되는 명령으로 지정된 조건에 만족하는 TAG개수를 반환합니다.


46_JS추가및실행

동적으로 javascript 추가 및 실행합니다.


47_어플리케이션테스트

웹브라저 외에 일반 윈도우 응용프로그램을 대상으로 테스트를 할 수 있습니다.

GUITAR.INI의 Other 섹션에 테스트할 프로그램 정보를 사전에 추가 ( |프로그램명:실행파일명)

이후 스크립트 내에서 "프로세스선택" 명령으로 선언하여 테스트 대상을 특정 프로그램으로 한정합니다.

특정 프로그램을 지정하지 않고 화면기준으로 간단하게 클릭 등의 기능을 수행하고자 할때에는 "전체대상작업" 명령을 활용 합니다.

GUITAR.INI에 정보 추가 없이 바로 exe 파일로 실행하고 프로세스를 선택 가능


48_파일DB

txt 형태로 지정된 line에 관련된 내용을 저장하고 읽어 올수 있는 사용자 정의 함수 입니다. 

테스트 관련 기록이나, 기타 테스트결과 확인에 필요한 내용을 저장할때 사용합니다.

filedbwrite(), filedbread() 함수를 사용합니다.


49_Auoit3사용자변수

Autoit3 내부에서 사용자 시스템 함수와 이를 활용할 수 있는 사용자 정의 함수를 제공합니다.

$_GUITAR_USER_VAR0 ~ 10 까지 Global 변수로 지정되어 있어 사용가능함.

$_GUITAR_USER_VARX 함수들은 내부 GUITAR 함수명과 $특수문자 사용이 동일하여 반드시 $ 특수문자로 바꿔서 사용해야 함.

_Assign() 내부 함수로 변수 값을 지정 

_Eval() 내부 함수로 변수 값을 읽어 올수 있음.

_Redim() 내부 함수로 배열 크기를 지정할수 있음 (4차원 배열 까지 가능)


50_최근실행결과

$GUITAR_RecentResult를 통해 스크립트 실행 중에 오류가 발생되었는지를 확인할 수 있습니다.

$GUITAR_RecentResult를 통해 특정 구간중에 오류가 발생되었는지 확인 가능합니다.

GUITAR_RecentResult는 사용전 반드시 해당 변수를 True 설정해야 합니다.


51_백분율좌표및절대좌표

상대 및 절대 위치를 직접 지정하여 클릭하는 예제 스크립트 입니다.

백분율좌표 : 값 뒤에 "%"를 같이 사용함, (50%,50% 인 경우 화면의 가운데임)

절대좌표 : 픽셀 기준으로 윈도우 왼쪽위 부터 절대값 


하나씩 따라 하면서 배울 수 있습니다.


'Testing Automation > GUITAR' 카테고리의 다른 글

Guitar에서 Nox 실행시키기  (0) 2018.06.11
GUITAR 소개와 설치, 기본 실행  (0) 2018.04.03
Comments