-
[UiPath 기초] 6. 이벤트(Event) - 2UiPath RPA/개념 및 기초다지기 2020. 3. 25. 22:20반응형
지난시간엔 이벤트에 대해 무작정 따라해보는 시간을 가져보았습니다. 이번 시간엔 이벤트의 구성요소에 대해 설명하는 시간을 가져보겠습니다.
[Monitor Events]
이벤트는 크게 트리거(1) 과 이벤트처리(2) 영역으로 나뉩니다. 트리거영역은 이벤트의 조건을 의미하며, 1개 이상의 트리거를 설정할 수 있습니다.
Monitor Events 액티비티는 기본적으로 무한반복(RepeatForever) 되도록 설정되어있습니다. 따라서 Monitor Events 액티비티 아래에 배치된 다른 액티비티들은 동작하지 않게됩니다.
Montior Events를 1회만 동작하게 만들고 싶다면, 속성에서 RepeatForever 값을 False로 설정하시면 됩니다.
[트리거(Trigger)]
트리거는 OR 조건으로 동작합니다. 위 스크린샷 예시와 같이 [Alt]+[N] 핫키, [Alt]+[마우스왼쪽] 를 설정한 이벤트는 실행시 [Alt]+[N] 핫키를 눌러도 동작하고, [Alt]+[마우스왼쪽] 클릭을 눌러도 동작하게 됩니다.
트리거는 2019.10.4 기준으로 3가지 유형을 제공합니다.
트리거 유형 설명 시스템 트리거 실행중인 프로그램에 관계없이 입력을 체크하는 유형의 트리거입니다. HotKey, Mouse, System 트리거가 존재하며, System 트리거는 앞서 두 유형과 달리 마우스, 키보드 입력여부 정도의 설정만 가능하므로 사용시 주의가 필요합니다.
* System 트리거는 이벤트처리영역에서 별도의 필터링 과정을 만들지 않으면 아무 입력마다 동작하는 불상사가 발생할수 있습니다. 이벤트 처리 필터링 방법은 다음시간에 살펴보겠습니다.엘리먼트 트리거 셀렉터(Selector)에 의해 타게팅된 엘리먼트를 클릭(Click)하거나, 키 입력(Key Press)이 발동했을때 처리를 위한 트리거입니다. 이미지 트리거 설정한 이미지와 일치하는 영역에 대한 트리거입니다. 2019.10.4 버전 기준으로 Click Image Trigger 만 존재합니다. 트리거는 공통적으로 EventMode라는 속성이 존재합니다. EventMode는 EVENT_BLOCK, EVENT_FORWARD 2가지 값이 존재합니다.
EventMode 설명 EVENT_BLOCK 설정한 트리거조건과 겹치는 동작이 존재할 경우, 해당동작을 차단합니다. EVENT_FORWARD 설정한 트리거조건과 겹치는 동작이 존재할 경우, 해당동작을 전에 먼저 실행됩니다. 설명으론 어려우니 예시를 들어보겠습니다. 아래 이미지는 이전시간에 다뤘던 이벤트 예제에서 Mouse Trigger를 한개 추가한 모습입니다. 앞서 설명드렸던 대로 해당 워크플로우는 Alt+N 핫키를 입력받거나, 마우스 오른쪽 버튼이 눌릴때마다, 네이버 사이트를 띄울 것입니다.
해당 워크플로우를 실행한 후, 휴지통 마우스 오른쪽 버튼을 누를경우 아래와 같은 차이점이 나타납니다.
* 공통적으로 naver.com 사이트를 띄우는건 같습니다.EVENT_BLOCK EVENT_FORWARD 물론 EVENT_BLOCK이라고 해서 모든 입력을 BLOCK 할 수 있는건 아닙니다. Win키는 설정에 관계없이 시작메뉴를 호출할 수도 있습니다.
[이벤트 처리기]
이벤트 처리영역은 일반적인 시퀀스 액티비티와 차이가 없습니다. 트리거에 의해 동작한 이벤트정보가 무엇인지, 이벤트를 동작시킨 엘리먼트 타겟이 무엇인지 식별하기위해 Get Event Info와 Get Source Element가 해당 영역의 앞단에 배치되곤 합니다.
이것으로 이벤트에 대한 설명을 마치도록 하겠습니다. 다음시간엔 Get Event Info를 이용해 단축키 값에 따라 Naver, Daum, Google 사이트를 띄워보는 시간을 가져보겠습니다.
반응형'UiPath RPA > 개념 및 기초다지기' 카테고리의 다른 글
[UiPath 기초] 6. 이벤트(Event) - 3 (2) 2020.04.01 [UiPath 기초] 6. 이벤트(Event) - 1 (0) 2020.03.22 [UiPath 기초] 5. 인수(Arguments) - 2 (2) 2020.02.29 [UiPath 기초] 5. 인수(Arguments) - 1 (0) 2020.02.15 [UiPath 기초] 4. 셀렉터(Selector) - 4 (0) 2020.01.27