콘솔워크

Uipath 입문 본문

프로그래밍/uipath

Uipath 입문

콘솔워크 2020. 5. 12. 16:00
반응형

Uipath 입문

Robotic Process Automation

개발전 사전인식

  • 환경 - 개발환경, 테스트환경, 실환경이 다르면 다를수록 개발공수는 늘어나며, 개발 초기부터 각기 다른 환경에 대한 실행결과를 염두에 두고 진행해야함
  • 테스트 - 개발 이외의 테스트 및 수정에 시간 투자를 많이 해야함
  • 예외 처리 필수
  • 데이터 - 테스트 데이터 및 데이터 건수에 대한 조사 필요
  • 프로젝트 규모 확인 - 작게 시작할 수 있지만, 크게 확장할 시에 전체 구성계획에 대해 도입전부터 가급적 미리 세워둔 후 도입

1. Uipath 제품구성

  • 데스크탑형
  • 서버형
  • 하이브리드형 (데스트탑 + 서버)

2. 대상어플리케이션 범위

Uipath에서는 독자 기술에 의해 표시된 수 많은 어플리케이션에 대해서 [오브젝트인식] 방식이 사용 가능하며, 효율적으로 안정적인 RPA개발/운영이 가능합니다. (단, 오프젝트 인식이 되지 않은 어플리케이션에 대해서는 [이미지방식]으로 인식 가능함)

오브젝트 인식 (Selector) - 족보를 찾아가는 방법

이미지 인식 (OCR)

2.1. Ui연계기능

  • Windows 데스크탑 어플리케이션
  • SAP/OracleEBS/Siebel/QT/Notes등의 windows업무 어플리케이션
  • Windows 부속 어플리케이션
  • MS Office (엑셀, 파워포인트, 워드)
  • Web 어플리케이션 (IE, Chrome, FireFox, Edge)
  • HTML/CSS, Applet 등
  • Chrome, FireFox, Edge를 사용할 경우, 확장기능을 별도 인스톨해야함
  • 가상환경(Citrix, VDI)에서의 어플리케이션
  • 원격머신측에 서비스 프로그램을 인스톨 후, 로봇 머신측에 확장기능을 인스톨
  • Uipath에서 제공하는 AI기술을 이용하여 [오브젝트인식]과 유사하게 처리가능
  • 상기 여건이 되지 않는 경우에, [이미지인식] 방식으로 처리 가능

3. 변수

Uipath에서는 수많은 변수를 제공하나, 실제로 각 액티비티에서 변수타입이 자동으로 설정되어지는 경우가 많으므로, 모든 변수타입을 처음부터 외울 필요는 없다.

  • Generic (Any) 변수
  • String (문자열)
  • Int32 (숫자)
  • Boolean (True/ false)
  • Datetime (날짜, 시간)
  • 데이터테이블 (DataTable)
  • 그외 변수 (검색해서 설정 가능)

4. Work Flow

4.1. Work Flow 종류

각 액티비티는 Work flow내에서 사용되어짐으로 액티비티 간의 연계 및 연속으로 실행되어지며, Uipath에서는 3종류의 Work flow를 제공하고 있다. 하나의 프로젝트 내에 각각의 Work flow들이 사용되어 질수도 있으며, 프로젝트 생성 또는 Work flow 파일 생성 시에 처음부터 선택해서 만들 수도 있다.

  • Sequence
    • 단순히 각 액티비티들을 위에서 아래로 실행되어 질 수 있도록 연결하는 역할
    • 레코딩에 의해 생성되는 work flow도 시퀀스
  • FlowChart
    • Sequence 보다 조금 더 복잡한 워크플로를 처리하는데 적합, 액티비티 간의 관계정의가 가능하여 업무로직 등 분기 조건이 많거나 복잡한 경우 사용
    • FLow Decision 이나 Flow Switch 등의 액티비티를 사용하여 워크플로를 간결하고 가시적으로 표현할 수 있다.
  • State Machine
    • State, Final State라는 두 개의 액티비티로 구성
    • 하나의 State가 종료되고 연결된 다른 State가 실행 된다. 또한 State 내의 Transition이라는 조건분기에 의해 다양한 분기를 만들 수 있으며, 다음 처리 State를 자기 자신의 State로 지정함으로써 조건에 따른 반wn복처리가 가능하여, 반복처리가 많은 업무로직에 사용

4.2. Work Flow 액티비티

  • Assign
    • 변수 또는 특정 데이터영역에 정해진 값을 대입
  • Multiple Assign
    • 여러 개의 변수에 정해진 값을 대입
  • If
    • 주어진 조건에 대해 참이나 거짓을 판별 후, 각각의 액션을 시행
  • Delay
    • 특정시간 동안 지연시킴
    • 주로 테스트시에만 사용하고 실 운용 시에는 꼭 필요한 시간 만큼만 지연시키는 방법을 권장
    • 입력 예 (3초 지연일 경우)
    • 00:00:03
  • Do while
    • 먼저 실행문을 실행 시킨 후 조건문에 의해 반복처리
  • For Each
    • 컬렉션 데이터들을 하나씩 실행시키며 데이터가 끝날때까지 반복처리 합니다.
    • 컬렉션이란, 배열, 리스트, 큐, 문자열, 딕셔너리등 내부에 복수 개의 데이터를 가지고 있는 데이터 형태입니다.
  • For Each Row
    • Datatable 변수를 반복처리할 경우에는 For Each Row 액티비티를 사용
  • Flow Decision, Flow Switch
    • Flowchart내에서만 사용가능하며, 각각 조건분기에 사용
  • Break
    • 반복처리를 하는 액티비티내에서 반복조건과 관계없이 빠져나갈 수 있습니다.
  • Continue
    • 반복처리를 하는 액티비티내의 처리를 전부 실행하지 않고, 특정부분까지만 실행 후, 반복처리할 다음 항목으로 넘어가게 할 때 사용
  • Try Catch
    • 예외처리 하기 위해 정상처리는 Try 구문에서하고, 예외처리는 Catch 구문에서 하며, 공통 처리는 Finally 구문에서 처리 할 수 있습니다.
  • Throw
    • 에러를 고의로 발생
  • Parallel
    • 복수개의 워크플로를 동시에 실행가능
    • 여러 개의 input 박스에 동시에 text 입력 가능
  • Retry
    • 일정한 시간 간격으로 반복해서 실행
  • Pick/ Pick Branch
    • 복수 개의 액티비티 중 상황주간에 맞는 액티비티만 그때마다 유연하게 실행
  • Invoke Workflow File
    • 워크플로의 분할 및 재사용

5. 패키지

기본 Dependencies

create process 시 4개의 기본 패키지가 기본으로 설정되어있다.

  • Uipath.Excel.Activities
  • Uipath.Mail.Activities
  • Uipath.System.Activities
  • Uipath.UiAutomation.Activities
  • Manage Pacakages

다른 사람들이 만들어놓은 패키지를 나의 프로젝트에 추가하여 사용 가능

가급적으로 Uipath. 으로 시작되는 공식 패키지를 추가해서 사용권장

  • 단축키
  • Ctrl + P

6. 입력 액티비티

Click

세 가지 방식으로 이루어짐, Click 은 foreground방식 SendWindowMessages 와 Simulate Type 방식은 background 방식으로 보내짐. background 방식은 alert창이나 다른 활동들로 인해 마우스의 제어권을 빼앗길 경우 이 방식으로 하면 click 신호를 robot에 보낼 수 있다. 백그라운드 방식인 경우 호환되지 않을 수 있으므로 테스트 필요. 테스트환경은 메모장에 값을 입력할 때 [서식] > [글꼴] 메뉴를 클릭하면 메모장에 값을 입력하기 어렵게 된다. 이 때 세가지 click 방식에 대하여 알아보자

Default

가장 기본적인 방법

글꼴 선택 하는 window box 때문에 엉뚱한 곳에 값이 입력됨

HW/SW 드라이브를 이용

백그라운드 실행이 안됨

기존 문자열의 공란 초기화를 하려면 Empty field 해야함 (Simulate type은 자동으로 empty 됨)

SendWindowMessages

특정 메시지를 직접 대상 어플리케이션으로 전송

속도면에서는 Default와 큰 차이가 없음

백그라운드 실행 가능

기존 문자열의 공란 초기화를 하려면 Empty field 해야함 (Simulate type은 자동으로 empty 됨)

 

Simulate Type

세 가지 방식 중 가장 속도가 빠릅니다.

실제 자동화 작업중에 다른 액티비티가 먼저 실행되거나, 이벤트 발생의 처리 순서에 있어서 개입을 받을 때 유용하게 사용되어 질 수 있다.

백그라운드 실행 가능

기존 문자열의 공란 초기화 필요 없이 자동으로 공란처리한 다음 입력해줌 (Set Text와 같은 효과)

키보드 단축키가 인식되지 못해, 해당 단축키에 대한 입력지시가 그대로 문자열로서 입력됨 (위의 그림에서 [k(tab)]) 이 그대로 입력됨

 

7. 출력 액티비티

  • Screen Scraping
    • FullText
      • 속도가 가장 빠름
      • 백그라운드 방식
      • 숨겨질 문자열 추출
      • 문자열위치인식 X
    • Native
      • Fore그라운드방식
    • OCR
      • Fore그라운드방식
      • VDI환경 지원

8. Selector

Selector는 Uipath가 UI Element를 고유하게 식별하기 위한 것입니다. 예를 들어, Uipath는 Selector에 의해 어플리케이션에서 어떤 문자열 입력란에 입력하면 좋은지, 어떤 라벨로부터 문자열을 취득하면 좋을지 등을 인식 할 수 있다.

8.1. 특징

Selector는 계층구조화된 XML형식으로 구성되어 있다.

각 요소 내에는 복수개의 속성(attribute)을 가지고 있다.

상위 요소에 종속되는 자신의 요소의 관계성에의해, 특정 Ui Element를 정확히 식별 가능

Selector는 거의 자동으로 생성되며, 가변적이지 않은 Ui Element에 대해서는 이를 사용

가변적인 화면 (웹어플리케이션 등에서 화면 내 레이아웃 변경) 등에는 Selector를 직접 수정하여 만드는 경우도 많음

Selector 안잡힐 때

플러그인 확인

Screen Scraping 후에 click text 할 수 있는지 확인

키보드 모드 - Tab 키를 조작해서 원하는 위치에 도달

OCR - 가장 마지막 방법

9. 이미지 및 테스트 자동화

9.1. 주요기능

  • Click Image
    • 기준위치가 될 이미지를 지정한 후, 이미지로부터 상대 좌표값을 참조하여 마우스와 키보드 신호를 보냄
  • Click Text
    • 먼저 OCR을 이용하여, 문자열들로 가능한 부분을 변환해놓고, 지정문자열을 가지고 기준위치가 될 이미지를 찾음. 그 후는 Click Image와 동일하게 처리
  • Select & Copy
    • Citrix 레코딩에서 가장 간단한 방법 중 하나
    • 텍스트박스에서만 적용가능하며, 선택된 텍스트에 대해 클립보드가 이용되어 해당 문자열이 취득됨
  • Scrape Relative
    • OCR 기술을 이용, 이미지 인식 활동을 사용하여 대상의 UI 객체를 식별하고 인접한 라벨 및 기타 Element를 찾습니다. 접근이 어려운 특정 Ui Element에서 텍스트를 검색 할 때 유용합니다.

10. 실행타이밍 및 조건 제어

Wait Image Vanish

Find Image와 정반대 처리로서, 이미지가 사라질 때 까지 기다립니다.

보통은 자동으로 표시되고 닫히는 팝업화면 등의 처리 시에 용이

가급적 Image Exists를 먼저 사용하여, 존재유무를 확인한 다음, 대상 타켓이 있을 경우 Wait Image Vanish를 사용하면 효과적임

Pick(Pick Branch(Pick 액티비티 안에 넣는 가지들))

해당 이미지의 존재여부에 따라 참/거짓 값을 되돌려주며, 이미지 인식 처리를 해야하는 어플리케이션에서는 조건분기를 판별하는 중요한 수단이 되는 액티비티

Image Exists 관련 액티비티와의 차이점은 해당 Selector를 찾지 못했을 경우 타임아웃까지 기다렸다가 결과값으로 False를 반환해주므로, 찾지못하는 경우가 많으면 그 시간 만큼 RPA는 다음 액티비티로 넘어가지 못하고 대기함

Pick을 사용하면 병렬 처리를 가능하게 함으로써 가장 먼저 발견된 Element를 찾아 바로 처리 가능

 

예시) 보여지는 화면에 따라 다음인지 카카오인지 메시지 뿌려주는 Pick

11. 엑셀

11.1 엑셀 관련 액티비티

엑셀 관련 액티비티는 크게 두가지 종류로 이루어져 있다. 두 종류에 따라 액티비티 이름이 같으므로 주의해서 사용해야 한다.

Available > App Integration > Excel

기동 후 지정된 엑셀 파일을 엽니다. (엑셀이 반드시 설치되어있어야함)

Excel Application Scope 안에서만 실행가능

Available > System > File > Workbook

엑셀이 설치되어 있지 않아도 읽어 들일 수 있음

11.2 엑셀 관련 실행 액티비티

  • Available > App Integration > Excel 과 Available > System > File > Workbook 둘다 있는 액티비티
    • Read Range - 시트명, 셀의 범위를 지정 후, 해당 정보를 읽어서 데이터 테이블에 지정
    • Write Range - 시트명, 셀의 범위를 지정 후,데이터 테이블 정보를 해당셀 범위에 넣는다.
    • Append Rage - 시트명, 셀의 범위를 지정한 후, 데이터 테이블 정보를 해당 셀 범위에 넣는다.
    • Read Cell - 지정한 시트명, 셀의 값을 읽어, 변수에 저장
    • Write Cell - 지정한 시트명, 셀에 값을 넣는다. 복수의 셀을 지정한 경우 모든 셀에 같은 값을 넣는다.
    • Read Cell Formula - 지정한 시트명, 셀에 사용되어진 수식을 읽어, 변수에 저장
    • Read Row - 지정한 시트명과 셀이 해당되는 행의 셀전부의 값을 읽음
    • Read Column - 지정한 시트명과 셀이 해당되는 열의 셀전부의 값을 읽음
    • Get Table Rage (Table) - 지정된 시트에서 Excel 테이블의 범위를 추출
  • Available > App Integration > Excel 에만 있는 기능
    • Excel Application Scope - Excel 기동 후 , 지정된 파일(.xlsx)을 연다.
    • Visible - false일 경우 백그라운드로 처리 가능
    • Excute Macro - Excel Macro 실행이 가능한 워크북 내에서 Macro를 실행
    • Close Workbook - 지정한 Excel 워크북을 닫음
    • Invoke VBA - VBA코드를 포함한 외부파일로부터 매크로를 불러와서 실행가능
    • Select Range - 엑셀시트내의 지정된 범위를 선택
    • Get Cell Color - 셀의 배경색을 추출해서, Color 변수로 저장
    • Set Range Color - Color 변수를 사용하여 지정된 셀 또는 셀 범위의 색상을 변경
    • Save Workbook - 워크북을 저장
    • Delete Column(Table) - 지정된 시트/테이블/열명을 삭제
    • Filter Table(Table) - 지정된 시트/테이블/열명에 대해 지정한 필터링 옵션에 의해 필터링 지정
    • Insert Column(Table) - 지정된 시트/테이블에 새로운 열을 삽입
    • Sort Table(Table) - 지정된 시트/테이블/열명에 대해 오름차순/내림차순으로 정렬
    • Copy Sheet - 지정된 엑셀시트를 다른 시트로 복사
    • Delete Range - 지정된 시트명 및 셀의 범위에 대해 삭제
    • Get Selected Range - 엑셀 시트내에 선택된 셀 영역이 있으면 해당 셀 영역 값을 가져옴
    • Get Workbook Sheet - 지정한 시트 인덱스에 해당하는 시트명을 가져옴
    • Get Workbook Sheets - 모든 시트명을 가져옴
    • Create Pivot Table (Table) - 지정한 시트 및 테이블을 피봇테이블로 만듬
    • Refresh Pivot Table - 지정한 시트 및 피봇 테이블을 새로 고쳐줌
    • Auto Fill Range - 지정한 셀 영역의 수식을 특정 셀 영역에 적용하여 자동으로 값을을 생성시켜 줌SourceRange가 DestinationRange에 포함 될 것
    • Copy Paste Range - 지정한 셀 영역을 복사하여 특정 셀에 붙여 넣음
    • Insert/Delete Rows - 지정한 위치에 지정한 행수를 추가하거나 삭제
    • Insert/Delete Columns - 지정한 위치에 지정한 열수를 추가하거나 삭제
    • LookUp Range - 지정한 영역 내에서 찾고자 하는 문자열이 존재하면, 해당 셀값을 반환 (복수개의 경우 첫번째 값)
    • Remove Duplicates Range - 지정한 영역 내에서 중복된 행을 삭제

12. 데이터테이블

12.1 주요 액티비티

  • For Each Row - 데이터테이블의 각 row에 대해 반복 작업 가능
  • Build Data Table - 직접 스키마를 지정하여 Data Table을 만듬
  • Add/Remove Data Row/Column - 데이터 테이블에 Row/Column을 추가/ 삭제 가능
  • Get Row Item - 데이터테이블에 지정한 Row에 대해 열의 값을 읽어 들일 때 사용
  • Merge Data Table - 2개의 Data Table을 합칠 때 사용
  • Generate Data Table (String -> DataTable) - 비구조화 데이터를 구조화된 데이터로 변경
  • Sort Data Table - Data Table의 지정한 열에 대해 오름 또는 내림차순으로 정렬
  • Remove Duplicate Row - Data Table 내의 중복된 행만 제거
  • Looup Data Table - Data Table 내의 특정 열에 대해 지정한 문자열의 위치를 검색 한 후 같은 행의 또 다른 특정 열의 값을 추출
    • 하나의 keyword로 어떤 값을 찾아서 가져옴 (`엑셀 Vlookup`과 비슷)
    • 맵핑 테이블을 가져와서 가져옴
  • Filter Data Table - 데이터 테이블 내의 조건에 맞는 결과 값을 쿼리하여 새로운 Data Table로 저장
  • Output Data Table(DataTable -> String) - Data Table 내 저장된 구조화된 값을 문자열로 변경해줌
  • Join Data Tables - DB 테이블의 조인처럼 두개의 Data Table을 조인
    • 단 공통열명을 통합시키지 않고 자동으로 공통 열명에 순번을 붙여 분리해서 표시됨. 예를 들어 `D`라는 컬럼이 중복된 경우 뒤에 붙은 데이터 테이블의 컬럼며은 `D_1`와 같은 식으로 표시됨

13. Process

BackGround Process - ForeGround Process에 해당되는 액티비티가 기본으로 추가 되어있지 않음

Invoke Process - Process가 돌다가 다른 프로세스 콜 가능, Process를 병렬적으로 처리

14. Element 조작 순서

  • selector 되는지 확인
  • F4 눌러서 모드 변경해서 selector 잡히는 지 확인
  • 키보드로 Send hot key 써서 셀렉터 까지 갈 수 있는지 확인
  • 키 값만 계속 보낼 경우에는 에러가 발생 확률이 높아짐
  • Screen scraping 후 OCR로 text 잡히면 click text로 시도
  • Image로 셀렉터 잡은 후 - 클릭 포인트 등으로 처리

15. PDF 처리

15.1 개요

Ms Office 문서를 그대로 PDF로 변환한 PDF, 프린트한 문서를 스캔한 PDF 문서 등 그 종류에 따라 처리하는 방법이 달라진다. 이미 학습한바와 같이 인식할 수 있는 문자열을 처리하는 방법과 문자열이 이미지로 된 문서를 처리하는 방법은 달라진다. 또, 문서 전체 또는 페이지 단위로 읽어서 처리하는 방법은 백그라운드(Read PDF, Read PDF with OCR)에서 처리가 되며 직접 문서를 열어서 필요한 부분만 추출하는 ㅇ방법은 일부 백그라운드 작업을 포함하여 상호작용에 의해 처리가 된다.

15.2 액티비티

  • Read PDF Text : 문자열이 들어있는 PDF파일을 읽어서 문자열 추출
  • Read PDF With OCR : 문자열을 포함한 이미지가 들어있는 PDF 파일을 읽어서 OCR 엔진을 사용하여 문자열을 추출
  • Manage PDF Password : PDF 파일의 패스워드를 변경
  • Join PDF Files : 복수 개의 PDF 파일을 하나로 통합
  • Export PDF Page AS Image : PDF 파일을 이미지 파일로 변경 (PNG, JPG 등)
  • Extract Images From PDF : PDF 파일 내의 이미지들을 추출
  • Extract PDF Page Range : 특정페이지를 별도파일로 추출

15.3 셀렉터 안잡힐 때

Adobe Acrobat Reader DC로 열었을 때 ctrl + shift + 5 눌러서 [시작] 버튼 누른 후 시도해 본다.

15.4 Anchor Base

앵커 기반으로 Selector 찾는 방법, 앵커로 사용할 Element가 그 위치에 계속 있다면 Anchor를 잡고 그 다음 원하는 값에 대한 Element를 Indicate 해주면 Uipath 가 자동으로 Selector를 잡아준다. 여기서 주의할 점은 앵커 이외의 값에 대한 selector는 무시된다. Anchor.position 프로퍼티에 정확히 위치를 넣어주는게 좋다 (Auto로 넣어둘 경우 안잡힐 수도 있음)

16. 디버깅과 에러처리

16.1 개요

운영 중에 에러가 발생했을 때의 상황에 대해, 어떻게 대처할 것인가의 처리부분을 미리 정의해 둘 수 있는 기능이다.

Try -정상적인 처리

Catch - 예외 발생 시 처리

에러 발생 후의 처리는 정확한 에러 원인을 추적하기 위한 로그수집이나 에러종료로 인한 초기화 또는 재처리 등 사전에 상황에 따라 작성할 필요가 있다.

Finally - 정상/예외 처리 후 반드시 실행할 처리 있을 경우만

에러 시에 로그를 남길 때는 Uipath 자체의 로그파일에 저장하기 위해 Log Message 액티비티를 사용 가능

16.2 Global Exception Handler (전역 예외 처리기)

프로젝트 실행 시 오류가 발생하는 경우에 어떻게 할지를 핸들링할 수 있는 별도의 워크플로 파일이다. 프로젝트 당 하나의 Handler만 설정 가능하다. 주로 예외 발생 시 재시도를 몇번할 것인지 설정 할 때 사용한다.

16.2.1 예시

프로젝트 폴더 내에 GlobalHandler.xaml를 둠으로써 전역처리기로서 인식이 됩니다. 생성은 [DESIGN] 리본에서 New를 선택 한 후 Global Handler를 클릭함으로써 만들 수 있다.

16.2.2 핸들러내부

  • Handler는 두개의 Argument를 가진다
  • [In] errorinfo : 오류 정보와 오류발생한 액티비티 정보 저장
  • [Out] result : 오류 발생 시 다음 액션 정보 저장
  • ErrorAction.Continue : 처리 후 , 다시 예외 발생
  • ErrorAction.Ignore : 예외 발생 후 오류를 무시하고 다음 액티비티로 진행
  • ErrorAction.Retry : 예외 발생한 액티비티를 다시 실행
  • ErrorAction.Abort : 예외 발생하면 그대로 종료 시킴

17. 프로젝트 구성 시 고려해야 할 요소

17.1 워크플로 유형 선택 및 개발 템플릿/프레임워크 준비

하나의 프로젝트 내에 다수의 프로세스 개발 시, 초기에 템플릿 형태로 개발한 후 재활용 하면서 개발 생산성 확보

전체를 표시하거나 조건 분기가 복잡해지는 경우 워크플로는 Flow Chart나 State Marchine로 구현

업무로직을 표현할 때는 Flow Chart가 좋음

입출력 관련 핸들링이 많은 부분은 Sequence

Uipath에서 권장하는 개발 프레임워크는 State Marchine 기반

17.2 워크플로의 분리

전체 워크플로는 작은 단위의 워크플로로 더 세분화 될 수 있도록 구성함으로써 검증 및 테스트도 세분화 가능

워크플로의 관리가 심플해지고 소스의 가독성이 좋아짐

라이브러리에 등록하여 다른 프로젝트에도 재활용할 수 있으므로 개발생산성이 좋아짐 (오케스트라 또는 로컬드라이브 내에 등록 가능)

17.3 예외 처리 및 복구

에러가 예측 될 수 있는 곳에는 Try/Catch 를 적절하게 사용하여 제어하고, Global Exception Handler를 사용하여 재실행 등의 복구 작업도 고려 가능

에러 발생 시의 종료방법 또는 복구 방법을 상황에 맞춰 Try/Catch로 대응할 수있는 구성을 해야함

복구 처리가 있는 경우 Flowchart나 State marchine을 사용 시 워크플로에 대한 가독성이 좋아짐

17.4 워크 플로 및 로그에 대한 가독성 향상

처리결과 확인이 필요한 곳에는 Log Message 액티비티 등을 이용한 로그출력을 남겨서 관리해야 한다 (오케스트라에서도 로그 관리 가능, 로그레벨 설정 주의(로그레벨에 따라 로그양 조절가능))

각 워크 플로/액티비티명은 구분과 이해가 빠른 이름을 쓴다.

복잡한 처리에 대한 설명기록은 Comment 액티비티나 각 액티비티 내의 Annotaions 기능을 사용

17.5 개발 템플릿 활용

개발팀으로 각자 개발을 수행할 경우, 개발자 각자의 담당기능 외에 입출력 처리와 예외 처리 방법 등을 공통화한 개발 프레임워크를 만들어서 운영할 필요성이 있다. 예를 들어 Uipath에서 제공받는 프레임워크나 자체에서 개발한 범용 프레임워크에 해당 프로젝트에 맞는 부분을 추가 또는 수정한 개발프레임워크가 있다면 템플릿화할 필요가 있을 수 있다.

[DESIGN] 리본에서 [Save as Template] 버튼 활용

17.6 Invoke workflow file 액티비티

파일로 만들어진 워크플로를 불러올 때 사용한다. 프로젝트를 구성할 때 작은 단위로 워크플로를 나누고자 할 경우 사용한다. 기존 워크플로 내에서 필요한 부분만 선택해서 자동으로 생성 가능 (액티비티에 오른쪽 마우스 클릭하여 Extract as Workflow 선택) 또는 액티비티 패널에서 검색 후 직접 생성 가능

18. 오케스트라 설정 순서

오케스트라 설정

계정생성

머신 만들기 - 머신 명 설정

머신 명은 로봇에서 오케스트라 세팅 가면 marchine name 가져올 수 있음

로봇 만들기

환경 만들기

로봇 세팅

머신 키 - 로봇에 머신 키 세팅 및 오케스트라 URL 세팅

로봇 패키지 오케스트라에 publish

오케스트라의 packages 가서 확인

process 추가

패키지 위에 만든걸로 세팅

환경 위에 만들걸로 세팅

로봇 위에 만들걸로 세팅

잘 만들어 졌는지 확인

job 에서 확인

process 선택 (패키지 + 로봇환경 조합)

실제로 실행

Trigger로 감

Time 트리거 또는 Queue 선택

Time인 경우 정해진 시간에 실행 가능

Process 위에 만든거 선택

시간 선택

 

반응형