Automation Anywhere 설명서 읽기 및 검토

Automation Anywhere Automation 360

콘텐츠 닫기

콘텐츠

콘텐츠 열기

재사용 가능한 bots 작성

  • 업데이트: 11/30/2020
    • Automation 360 v.x
    • 구축
    • RPA 작업 영역

재사용 가능한 bots 작성

설계 및 생성부터 재사용까지 재사용 가능한 bots 또는 하위 태스크 개발에 관한 이해를 높이기 위한 지침을 검토합니다.

선행 조건, 입력, 출력 및 변수 정의
재사용을 위한 bots을 작성할 때는 다음 사항이 정의되어 있어야 합니다.
  • bot 단독으로 또는 하위 태스크로 이용하는 방법에 관해 필요한 모든 선행 조건을 문서화합니다.
  • bots을 작성할 때는 값을 입력, 출력 또는 로컬로 정의합니다. 입력 및 출력 변수는 bot이 하위 태스크로 이용되도록 설계되어 다른 호출 bot으로부터 값을 수신하고 되돌려 보낼 수 있게 되어 있습니다.
  • 입력 및 출력 변수를 정의할 때 의미 있는 변수 설명을 제공하여 다른 개발자가 귀하의 하위 태스크와 상호작용하는 방법을 알 수 있게 해야 합니다.
  • 변수 이름 지정 지침에 대해 확립된 기준을 준수합니다. 변수 이름 지정 지침에 대한 Automation Anywhere 사용자 정의 변수를 검토합니다. 사용자 정의 변수
단일 책임 원칙 준수
재사용성을 위해 개발된 Bots은 단일 책임 원칙을 따라야 하는데, 이 원칙은 각 하위 태스크 또는 구성요소가 전체 bot의 기능의 단일 부분에 대한 책임을 가져야 하고, 그 책임은 해당 하위 태스크 또는 구성요소가 전적으로 담당해야 한다는 것으로 설명하고 있습니다.

단일 책임의 다른 예:

  • 단일 트랜잭션을 처리하지만, 목록의 각 트랜잭션에 대해 여러 번 호출될 수 있는 하위 태스크.
  • 웹 사이트의 한 페이지에 화면 표시 데이터를 수집하지만, bot이 페이지 매김을 진행하는 동안 여러 번 호출될 수 있는 하위 태스크.
애플리케이션 열기 및 닫기
bot 또는 하위 태스크가 여는 모든 애플리케이션, 파일 또는 창은 동일한 bot 또는 하위 태스크에 의해 닫혀야 합니다.
  • 예를 들어, bot에서 Microsoft Excel을 열어 스프레드시트 작업을 수행할 때는 bot 처리를 마치면 스프레드시트 및 Excel이 닫혔는지 확인합니다.
  • bot 실행이 성공하거나 실패하면 애플리케이션을 닫습니다.
  • Try/Catch/Finally 작업의 Finally 블록을 이용하여 태스크 처리의 성공 여부에 관계없이 애플리케이션이 닫혔는지 확인합니다.
  • 애플리케이션이 테스트 중에 응답하지 않는 경우, 명령 프롬프트를 이용하여 애플리케이션을 강제로 닫는(종료) 것이 좋습니다. 예를 들어, 파워 포인트를 강제로 닫고자 할 때 명령줄 작업은 다음과 같습니다.
    Taskkill /IM powerpnt.exe /F
오류 처리
태스크를 완료한 후, bot이 모든 실패 또는 예외를 성공적으로 처리하는지 확인합니다.
  • 각 태스크 또는 하위 태스크는 자체 오류를 처리해야 합니다.
  • 하위 태스크에서 처리되지 않은 예외는 상위 태스크에서 문제를 일으킬 수 있습니다.
  • 모든 bot의 루트 레벨에서 Try/Catch/Finally 블록을 이용합니다.
  • 실패를 보고하기 전에 작업을 여러 번 시도하려면, 루프 내부에서 Try/Catch 블록을 이용하십시오.
다른 컴퓨터에서의 bots 실행
bot을 설계할 때는 그 bot이 생성된 컴퓨터가 아닌 다른 컴퓨터에서도 실행되도록 해야 합니다.
  • 다른 컴퓨터에서도 bot이 공적으로 실행할 수 있도록 로컬 파일 경로, 네트워크 공유 또는 창 제목에 대한 변수를 이용합니다.
  • 다수의 bots이 액세스해야 하는 환경 마커 또는 네트워크 공유에 대해서는 전역 값을 이용하는 것을 고려하십시오.
  • bots이 특정 환경 또는 대상 애플리케이션의 버전에 관계없이 실행되도록 하려면, 적절한 경우 창 제목에 와일드카드 문자를 이용합니다. 예를 들어, 이용하는 대신
    Salesforce - Professional Edition - Internet Explorer
    use the following:
    Salesforce - * - Internet Explorer
프롬프트, 메시지 상자 및 무한 루프 이용
프롬프트 및 메시지 상자 작업에서 사용자 입력을 기다릴 때는 bots실행이 중지됩니다. 사용자 입력이 필요하지 않다면, 프롬프트 문을 이용하지 않도록 bots을 설계합니다.
  • 루프를 이용할 때는 반복 횟수를 명확히 정해주거나 브레이크 루프 작업이 필요한 위치를 지정하여 모든 루프에 확실한 종료점이 있도록 해야 합니다.
  • bot을 무인 bot으로 실행하려는 경우, 프롬프트 또는 메시지 상자 작업을 제거하거나 비활성화합니다.
  • 유인 자동화 시나리오를 위해 bots을 작성하는 경우, bots이 예상대로 실행되게 하려면 메시지 상자와 프롬프트가 합당하거나 요구되는 경우가 많습니다. 메시지 상자를 이용하여 응답, 출력 또는 값과 같은 다양한 변수를 표시합니다.
민감한 데이터를 Credential Vault에 저장하기
Control Room에는 사용자 이름, 비밀번호, API 키 및 토큰과 같은 민감한 정보를 저장하는 데 이용할 수 있는 Credential Vault가 포함되어 있습니다.
  • bot을 작성할 때는 자격증명을 저장하고 필요 시 자격증명 또는 속성을 참조하면서 검색할 수 있도록 Control Room에서 Credential Vault을 이용하여 로커를 만듭니다. 이렇게 하면 사용자가 bots 개발자가 bot 내에서 필요한 자격증명을 직접 하드코딩할 필요 없이 API를 이용하거나 로그인을 수행하는 bot을 만들 수 있습니다.
  • bot 내의 하드 코딩된 스토리지는 보안 위험을 초래하므로 민감한 자격증명을 bot, 또는 하위 태스크에 하드 코딩하지 마십시오.
  • bot에서 Credential Vault 값을 이용해야 하는 경우, 모든 locker 이름과 자격증명이 봇 문서에 명확하게 정의되어 있는지 확인하십시오. 필요하다면, 자격증명(예: API 키 또는 토큰)을 획득하는 방법에 대한 세부정보를 포함합니다.
독립 태스크 테스트
재사용이 가능하도록 bots을 만들 때는 다른 하위 태스크와는 독립적으로 테스트할 수 있도록 설계하십시오.
  • 테스트 중심 개발(TDD) 접근법을 실천해보십시오. 애플리케이션에서 새 bot 또는 새 기능을 추가할 때는 해당 테스트 예시를 작성합니다.
  • 테스트 예시에서, 해당 기능을 검증하는 특정 기능을 정의해둡니다.
  • 단일 책임 원칙 및 재사용 가능성을 위해 독립적으로 테스트할 수 있는 많은 소규모 태스크를 생성합니다.
주석 및 단계 사용
주석을 통해 개발자는 자신의 bots 내에서 설명을 제공할 수 있으므로 bot 다른 bot 개발자들이 각 섹션, 코드 블록 또는 하위 태스크의 설계 용도를 더 잘 이해할 수 있습니다. 개발자가 주어진 코드 블록의 기능의 목적을 이해할 수 있도록 명확한 설명을 포함시킵니다.
  • botsBot Store에 제출되면, 이 주석은 bot을 사용자 정의하는 방법을 보여줍니다.
  • 주석을 이용하면 섹션 설명을 통해 개발자가 더 빠른 문제 해결을 위해 필요한 변경 사항을 파악할 수 있으므로 코드 유지 관리가 더 쉬워집니다.
  • bots에 대한 주석은 ‘진행중인 작업’으로서 향후 작업을 위한 플레이스 홀더를 만들 때 도움이 될 수 있습니다. 여기서 TODO 명령은 bot에 로직을 추가하도록 상기시키는 차원에서 고려해보되, 작업이 완료되면 주석을 업데이트해야 합니다.
  • Automation 360에는 가독성과 흐름을 개선하기 위해 코드를 논리적 그룹으로 구성하는 기능을 제공하는 Step작업이 포함되어 있습니다.
  • 공백 상태로 라벨이 부착된 단계(step) 조치를 이용하여 bot의 주요 목테이블에 대한 개요를 작성합니다. 이 작업이 완료되면, 각 단계로 돌아가서 해당 단계의 로직을 완료합니다.
로깅 파일 만들기
botsBot Runners의 수에 관계없이 무인으로 실행될 때는 로그 없이 문제를 식별하는 것이 어려울 수 있습니다. 소프트웨어 개발자, 지원 팀 및 bot 소유자는 로그에 의존하여 자동화에 문제가 있는 위치와 문제 진단 방법을 파악합니다. Bots은 오류를 기록하여 오류 세부정보를 갖고 있어야 합니다.
  • 오류 처리 및 화면 캡처를 이용하여 bot 또는 하위 태스크에서 오류가 언제 발생하는지를 더 잘 이해할 수 있습니다.
  • 과거 로그 파일을 유지관리하기 위해 사용자 정의 가능한 루트 로깅 위치와 함께 기본 오류 처리, 로깅, 및 스냅샷 기능이 포함된 A2019 Bot Store 템플릿을 이용합니다.

    Bot Store bot template

  • 필요하다면, 추가 로깅 파일을 생성하고 bot 또는 하위 태스크에서 수행한 모든 작업에 대한 전체 감사 기록을 포함합니다. 추가 로그 파일에는 에 대한 감사, 디버그 및 bot에 대한 성능 정보와 함께 다음 정보를 포함할 수 있습니다.
    • 메인 bot 시작 및 종료 시간.
    • 하위 태스크 시작 및 종료 시간.
    • bot 내에 정의된 특정 이정테이블의 완료 시간.
    • 입력 파일에 수신된 트랜잭션 수.
    • 성공적으로 처리되었거나 실패한 트랜잭션 수.
피드백을 보내주십시오