본문 바로가기
카테고리 없음

[RPA]TagUI (오픈소스 RPA) - 1 :: 솔루션의 이해, 설치 및 실행하기

by 이뫼장 2023. 7. 7.

 

회사에서 귀찮은 반복업무를 자동화 하기 위해서 알아보게 된 오픈소스 RPA 이야기를 해보고자 한다.

 
 

TagUI 란?

TagUI는 데스크톱, 웹, 마우스 및 키포드 작업을 쉽게 자동화하는데 도움이 되는 무료 오픈소스 플랫폼 RPA도구이다.
컴퓨터에서 반복적이고 시간 소모적인 작업을 간단한 TagUI 언어로 동작을 작성하여 자동화한다. 작업은 웹사이트(Chrome 및 Edge에 대한 기본 지원), 데스크톱 앱 또는 명령줄(cmd, shell, python 등)에 대한 작업이 가능하다.
 
앞서 말했다시피 TagUI는 오픈소스 프로젝트이며, 영구적으로 무료라고 공표하고 있다. (싱가포르 국립 연구 재단의 지원을 받고 있어 안정적인 운영이 가능해 보인다)
 
설치가 매우 간단하고 Windows, macOS 및 Linux에서 작동한다. 소개 웹사이트에서는 사용이 간편하다고 하지만, 요즘 출시되는 RPA들 대부분이 사용법이 간단하거나 동작 작성 툴이 잘 제공되는 점을 감안하면 특별히 편리하고 할 수는 없다. (하지만 TagUI 역시 간단하기 때문에 Leaning curve가 적다)
 
장점은 Linux에서 각 사용자 계정으로 수행이 가능하며 Chrome, Edge 등의 웹 브라우저 없이 백그라운드로 실행 가능한 점이다.
UIPath나 파워오토메이션 같은 유료 RPA는 데스크톱 PC를 상시로 켜 놓고 자동화를 동작시켜야 한다는 것과 비교하면 서버에서 실행 할 수 있다는 점은 큰 이점이다.
 

TagUI 주요 기능

  • MS Office 플러그인을 사용하여 Word문서를 RPA 로봇으로 쉽게 생성 가능하고, Excel을 사용하여 RPA 데이터 매개편수를 설정할 수 있다.
  • 웹 브라우저를 표시하지 않고 웹 흐름을 실행할 수 있다. (백그라운드 작업)
  • 기본적인 마우스, 키보드 동작의 자동화를 지원하며, 웹 브라우저를 통한 자동화 시 DOM, XPath 요소를 활용한 동작을 지원한다.
  • 라이브 모드를 지원하여 한 줄씩 단계를 실행하고 즉시 실행 결과를 확인 가능하다. (동작 작성 시 매우 편리)
  • 조건문, 반복문(loop)은 당연하게 지원한다.
  • 파일 읽기/쓰기, 클립보드 등도 당연하게 지원한다.
  • 예외 및 오류처리는 로컬 오류 처리 및 워크플로 오류 처리를 지원
    • 로컬 오류처리 : 조건문을 활용한 동작 코드 내 시나리오 분기 처리
    • 워크플로 오류처리 : 오류처리 동작 코드를 별도로 작성하여 오류 발생 시 해당 동작이 수행
  • 데이터 테이블을 활용하여 서로 다른 입력으로 자동화를 수행 할 수 있다.
  • R, Python, Javascripts 등 20개 이상의 언어를 통합 지원한다. (ex. TagUI 언어 내에서 py 등으로 Python 동작을 지원)
  • 동작 작성의 편의성을 위해 Chrome Extention, TagUI Writer, Screenshoter&Editor 등의 Editor를 지원한다.
  • silkui와 통합해서 웹사이트 및 데스크탑의 시각적 자동화를 지원한다.
    (필자의 경우는 Sikuli 사용을 추천하지 않는다. 이유는 커지는 Leaning curve에 비해 이익이 별로 없는 것 같다.)

 


설치하기

Linux 설치 

테스트 환경 정보

더보기
 HW info : VM Ware
 CPU : 16 Core
 Memory : 8GB
 DISK : 생략 
 OS version : CentOS Linux release 7.9.2009
 JAVA version : OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode)
 PHP version : 5.4.16 (cli) (built: Apr  1 2020 04:07:17)

 

 
 TagUI는 설치형이 아니므로 다운받아서 실행하면 된다. (사전 필요 패키지 설치는 필요)
 
1. 사전 필요 패키지 설치 (Java, php)

[hellolcs@server-001]$ yum install java php
  • 폐쇄망의 경우 java, php를 다운로드 하여 /etc/profile에 환경변수 등록하여 사용

2. TagUI 다운로드 및 압축 해제

[hellolcs@server-001]$ cd ~/
[hellolcs@server-001]$ wget https://github.com/kelaberetiv/TagUI/releases/download/v6.110.0/TagUI_Linux.zip
[hellolcs@server-001]$ uzip TagUI_Linux.zip
[hellolcs@server-001]$ sudo ln -sf /home/hellolcs/tagui/src/tagui /usr/local/bin/tagui
  • 압축 해제는 tagui를 실행할 계정 Home Directory에서 수행하면 된다.
  • 봇 실행은 root 계정으로 실행하지 말고 User 계정으로 실행하는 것을 권장한다.
  • root 계정으로 압축 해제 시 일반 User 권한으로 실행되지 않으므로 "chown -R hellolcs(계정명) tagui(폴더명)" 명령어를 통해 폴더 및 하위 파일 소유자를 변경해주어야 한다.
  • 3번째 명령줄인 링크 생성은 기호에 따라 진행하면 된다. (링크 미 생성 시 tagui 명령를 Full path로 지정해야 한다. ex. /home/hellolcs/tagui/src/tagui test.tag)

 

Windows 설치하기

1. OpenJDK(JAVA) 설치

2. Chrome 설치

3. TagUI 다운로드

4. TagUI 환경 변수 추가

  • "Windows + R" → "sysdm.cpl ,3" 입력 (띄어쓰기 주의)  Enter
  • 하단에 "환경 변수" 클릭

시스템 속성 캡쳐화면

  • 시스템 변수 탭 → "Path" 클릭 → 편집(I)

환경 변수 캡쳐화면

  • 새로만들기 → "C:\tagui\src" 입력  확인

환경 변수 편집 캡쳐화면

 5. CMD에서 Unicode UTF-8 사용 설정
- cmd 창 실행 후 아래 커맨드를 사용하여 UTF-8로 환경 변경 이후 사용

  • cmd 실행  → "chcp 65001" 입력
  • 윈도우 CMD 창을 사용 시 한글 입력이 안되는 이슈 존재

- 아래 방법은 타 프로그램에 영향이 있어서 진행하면 안됨 (기록을 위해 남겨둠)

  • "Windows" + R  "intl.cpl"   Enter
  • 관리자 옵션 → 시스템 로컬 변경

Windows Unicode UTF-8 사용 설정 캡쳐 화면 - 1

  • "Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용" 체크 → 확인 → 다시시작 → 재부팅

Windows Unicode UTF-8 사용 설정 캡쳐 화면 - 2

 


실행하기

Tagui의 스크립트는 ".tag" 확장자를 가지며, 아래와 같이 실행하면 된다.
실행 방법은 Windows, Mac, Linux 모두 동일하다.

#리눅스 실행 방법
[hellolcs@server-001]# tagui ~/tagui/flows/samples/1_google.tag

#윈도우 실행 방법
c:\tagui> tagui c:\tagui\flows\samples\1_google.tag 

 
기본 브라우저는 Chrome이며, [-e] 옵션을 통해 Edge로 실행도 가능하다.
 
 


 

.tag 파일 작성은 다음(2) 글에서 진행

2023.07.07 - [분류 전체보기] - TagUI (오픈소스 RPA) - 2