변수
스크립트에서 사용하는 변수의 종류(전역 / 키워드 / 스크립트)와 특수 문자 입력, Call 인수 변수, 예약어 사용 방법을 안내합니다.
Aurora 스크립트에서 사용하는 변수의 종류와 사용 방법을 정리합니다. 모든 변수는 스크립트에서 사용될 수 있지만, 키워드(Keyword) 변수는 스크립트그룹과의 특별한 관계가 있습니다. 특정 명령에서 키워드 변수를 사용하므로 주의가 필요합니다.
변수의 타입은 별도로 존재하지 않습니다. 변수 내부 값이 숫자만 있을 경우 숫자형으로 판단하고, 문자가 포함되어 있을 경우는 문자열로 판단합니다.
사용방법
스크립트에서 변수는 [ 와 ] 안에 넣고 사용됩니다.
변수 명이 Test01일 경우, 스크립트 명령어에서는 [Test01]이라고
사용하면 내부적으로 변수라고 판단하고 값을 치환합니다.
특수 문자 입력 (이스케이프)
변수 표기, 값 구분, 키 입력 문법에 쓰이는 특수 문자를 문자 그대로
입력하려면 앞에 역슬래시(\)를 붙입니다.
| 입력 | 의미와 적용 범위 |
|---|---|
\[ \] | 문자 그대로의 대괄호. 변수로 해석되지 않습니다. 모든 명령어의 모든 입력 칸에 적용됩니다. |
\, | 값 안에 들어가는 쉼표. 구분자로 해석되지 않습니다. 쉼표로 여러 값을 구분하는 명령어(Call, Get parameter, Select item of the UI element, Click and Input string in the window, Click and Select item in the window)에 적용됩니다. |
\{ \} | 문자 그대로의 중괄호. 키 입력으로 해석되지 않습니다. 키 입력 문법을 쓰는 명령어(Send keys, Click and Input string in the window)에 적용됩니다. |
다이얼로그에서 입력한 값의 쉼표는 자동으로 처리되므로, \,는
스크립트를 직접 편집하거나 변수로 값을 전달할 때만 필요합니다.
역슬래시는 위 특수 문자 앞에 올 때만 이스케이프로 해석되며, 파일
경로처럼 다른 위치의 역슬래시는 문자 그대로 처리됩니다. 명령어별 공통
규칙은 특수 문자 입력을
참고하세요.
전역 (Global)
프로젝트 전역에서 참조되고 사용할 수 있는 변수로, 참조되는 우선 순위는 가장 낮습니다.
참조 우선 순위 — 키워드 → 스크립트 → 전역. 스크립트 변수와
변수명이 중복되지 않도록 주의가 필요합니다.
키워드 (Keyword)
스크립트그룹이 생성될 때 자동으로 만들어지는 변수입니다. 보통 Call 명령어로 해당 스크립트그룹을 호출할 경우, 인자들이 스크립트그룹 키워드 변수에 기록됩니다.
키워드 변수를 이용해서 전달받은 값은 스크립트그룹에서 분석하고 구분하여 사용할 수 있습니다.
Call 인수 변수 (mArg1 ~ mArg16, mArgCount)
Call 명령으로 넘긴 인수(쉼표로
구분)는 호출되는 스크립트그룹이 실행되기 직전에 mArg1부터 순서대로
나뉘어 저장되고, 인수 개수는 mArgCount에 저장됩니다. 그래서 호출된
그룹에서는 Get parameter 없이 [mArg1], [mArg2], [mArgCount]처럼
바로 사용할 수 있습니다.
- 개수: 최대 16개이며, 16번째 인수에는 나머지 값 전체가 들어갑니다.
사용하지 않은 mArg 변수는 빈 값이 되고, 인수 없이 Call하면
mArgCount는 0입니다. - 쉼표가 든 인수: 인수 안에 쉼표가 필요하면
\,로 씁니다(특수 문자 입력 (이스케이프) 참고). - 중첩 Call: 호출된 그룹 안에서 다시 Call해도, 그 호출이 끝나면 상위 그룹의 인수 값이 되돌아옵니다. 가장 바깥 Call의 값은 실행이 끝난 뒤에도 남아 있어 변수 창에서 확인할 수 있습니다.
- 예약 변수:
mArg1~mArg16과mArgCount는 모든 프로젝트에 항상 있는 예약 변수로, 이름을 바꾸거나 삭제할 수 없고 프로젝트와 함께 저장됩니다. 변수 창에서는mArgs노드로 묶여 표시됩니다. - 기존 방식: 키워드 변수(스크립트그룹 이름의 변수)와 Get parameter 명령도 그대로 사용할 수 있습니다. Aurora Protocol Player가 실행하는 그룹에도 같은 방식으로 적용됩니다.
스크립트 (Script)
스크립트를 수행할 때 사용되는 변수입니다. 굳이 구분하자면 다음과 같습니다.
- 이곳에 등록하여 사용하는 변수: 해당 오로라 파일 내에서의 전역 변수와 같습니다. 스크립트 파일에 저장되며, 삭제 전까지 영구적으로 사용됩니다.
SetCommand로 설정하여 사용하는 변수: 지역 변수라고 생각하면 됩니다. 명령이 수행되면 변수가 생성되고, 스크립트가 종료될 때까지 존재합니다.
기본 스크립트 변수
| 변수명 | 설명 |
|---|---|
mIndex | Do ~ Loop Command에서 기본으로 사용되는 변수 |
mReturnValue | Command 수행 후 리턴 값이 있는 경우 저장되는 변수, 대부분 문자열이 아닌 경우 저장됨 |
mReturnString | Command 수행 후 리턴 값이 있는 경우 저장되는 변수, 대부분 문자열이 리턴되는 경우 저장됨 |
mMeasurementValue | 일부 명령어가 특수하게 사용하는 변수 (예: Find text in Android가 찾은 좌표를 (x,y) 형식으로 저장) |
mFile.Drive | Get file path part 명령 결과: 드라이브(루트 경로) |
mFile.Directory | Get file path part 명령 결과: 폴더 경로 |
mFile.Name | Get file path part 명령 결과: 파일 이름 |
mFile.Extension | Get file path part 명령 결과: 확장자 |
mFile.NameNoExt | Get file path part 명령 결과: 확장자를 뺀 파일 이름 |
mArg1 ~ mArg16 | Call 명령의 인수 (Call 인수 변수 참고) |
mArgCount | Call 명령의 인수 개수 |
mRect.left | 임시 변수 |
mRect.top | 임시 변수 |
mRect.right | 임시 변수 |
mRect.bottom | 임시 변수 |
예약어 (Reserved word)
스크립트를 수행할 때 사용되는 내부 예약 변수입니다. #으로 시작되는
문자열로 스크립트 수행과 관련이 있는 정보를 표현합니다.
사용법은 변수와 같이 [ ] 안에 놓여지면 됩니다. 예를 들면, 현재 날짜를
얻기 위해서는 [#date]와 같이 사용하면 됩니다.
기본 예약어 변수
| 변수명 | 설명 |
|---|---|
#date | 현재 날짜 (예: 20221221) |
#time | 현재 시간 (예: 170900) |
#projectdir | 프로젝트 폴더 경로 (\ 포함) |
#resdir | 스크립트 리소스 폴더 경로 (\ 포함) |
#reportdir | 리포트 폴더 경로 (\ 포함) |
#scriptdir | 스크립트 폴더 경로 (\ 포함) |