Automation Anywhere 설명서 읽기 및 검토

Automation Anywhere Automation 360

콘텐츠 닫기

콘텐츠

콘텐츠 열기

Python을 이용하여 JSON 응답 분석을 위한 bot 만들기

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

Python을 이용하여 JSON 응답 분석을 위한 bot 만들기

Automation 360 Python 스크립트를 이용하여 bot을 만들 Python 함수를 실행합니다. Python 함수를 이용하여 REST 웹 서비스 GET 요청으로부터 JSON 응답을 분석합니다.

전제 조건

bot을 만들려면 다음 사항이 갖춰져 있어야 합니다.

  • Python 프로그래밍 언어에 대한 기초적인 이해.
  • Automation Anywhere bots 생성에 관한 기초적인 경험.
  • Python 3를 다운로드하여 설치합니다.

    Python 다운로드

    환경 변수에 경로를 추가하고 Python 설치 중에 Python 3.8을 경로에 추가를 선택합니다.

프로시저

  1. Control Room에 로그인합니다.
  2. > 내 봇으로 이용하여 봇 생성을 클릭합니다.
  3. 이름 필드에 PythonTutorial을 입력합니다.
  4. 생성 및 편집을 클릭합니다.
  5. 작업 창에서 변수를 클릭하여 다음과 같은 새 변수를 생성합니다.
    1. 이름 dResponse, 유형 > 사전하위 유형 > 문자열.
    2. 이름 dRetrieveValue, 유형 > 사전하위 유형 > 임의.
    3. 이름 sResponseBody, 유형 > 문자열.
    4. 이름 sFullName, 유형 > 문자열.
    5. 이름 sLocation, 유형 > 문자열.
    6. 이름 sTotalUserCount, 유형 > 문자열.
    7. 이름 nTotalUserCount, 유형 > 문자열.
    8. 이름 nCurrentUser, 유형 > 문자열.
    9. 이름 sCurrentUser, 유형 > 문자열.
  6. 작업 창에서, REST 웹 서비스 > 메소드 가져오기를 선택한 후, 이를 bot 플로우 시작 아래에 놓습니다.
    1. URI 필드에 https://randomuser.me/api/?results=5&inc=name,email,location&nat=us을 입력합니다.
      이것은 임의의 사용자 세부정보를 호출 애플리케이션으로 보내는 샘플 API입니다.
    2. 인증 모드 드롭다운 목록에서 인증 없음을 선택합니다.
    3. 출력을 변수에 지정 드롭다운 목록에서 dResponse -문자열 사전을 선택합니다.
  7. 작업 창에서 문자열 > 지정을 클릭합니다.
    1. 소스 문자열 변수 값 선택 필드에 $dResponse{Body}$를 입력합니다.
    2. 출력을 변수에 지정 드롭다운 목록에서 dResponse -문자열을 선택합니다.
  8. 작업 창에서 Python 스크립트 > 열기를 클릭합니다.
    1. Python 필드에서 수동 입력을 선택합니다.
    2. 여기에 스크립트 입력 필드에 다음 코드를 복사하여 붙여넣습니다.
      import json
      
      def get_node_count(response):
          #parse response as json
          response_dict=json.loads(response)
          # Create list from JSON body
          response_body = response_dict['results']
          #return the count of entries in JSON body as string
          lengthasstring = str(len(response_body))
          return lengthasstring
      
      def get_full_name(dictRequest):
          itemCount = int(dictRequest['count'])
          #parse response as json
          response_dict=json.loads(dictRequest['response'])
          # Create list from JSON body
          response_body = response_dict['results']
          #Extract values to return
          return response_body[itemCount]['name']['first'] + " " + response_body[itemCount]['name']['last'] 
      
      def get_location(dictRequest):
          itemCount = int(dictRequest['count'])
          #parse response as json
          response_dict=json.loads(dictRequest['response'])
          # Create list from JSON body
          response_body = response_dict['results']
          #Extract values to return
          return response_body[itemCount]['location']['city'] + ", " + response_body[itemCount]['location']['state']
    3. Python 실행시간 버전 필드에서 기본 값을 3으로 유지합니다.
  9. 작업 창에서 Python 스크립트 > 함수 실행을 클릭합니다.
    1. Python 세션 필드에 기본값을 유지합니다.
    2. 실행할 함수 이름 입력 필드에 get_node_count를 입력합니다.
    3. 함수에 대한 인수 드롭다운 목록에서 dResponseBody - 문자열을 선택합니다.
    4. 출력을 변수에 지정 드롭다운 목록에서 sTotalUserCount -문자열을 선택합니다.
  10. 작업 창에서 사전 > 입력을 클릭합니다.
    1. 사전 변수 필드에서 dRetrieveValue -사전을 선택합니다.
    2. 이 키에 연계 필드에 응답을 입력합니다.
    3. 새 값 드롭다운 목록에서 dResponseBody - 문자열을 선택합니다.
    4. 이전 값을 변수에 지정 드롭다운 목록에서 프롬프트-지정 - 문자열을 선택합니다.
  11. 작업 창에서 문자열을 > 숫자로 변환을 클릭합니다.
    1. 문자열 입력 필드에 sTotalUserCount를 입력합니다.
    2. 출력을 변수에 지정 드롭다운 목록에서 nTotalUserCount - 숫자를 선택합니다.
  12. 작업 창에서 루프 > 루프를 클릭합니다.
    1. 루프 유형 > 반복자의 드롭다운 목록에서 n회를 선택합니다.
    2. 시간 필드에 $nTotalUserCount$를 입력합니다.
    3. 현재 값을 변수에 지정 드롭다운 목록에서 nCurrentUser - 숫자를 선택합니다.
  13. 작업 창에서 번호를 클릭하고 감소를 선택한 다음, 루프 작업 안에 놓습니다.
    1. 숫자 입력 필드에 $nCurrentUser$를 입력합니다.
    2. 감소 값 입력 필드에 1을 입력합니다.
    3. 출력을 변수에 지정 드롭다운 목록에서 nCurrentUser - 숫자를 선택합니다.
  14. 작업 창에서 숫자를 클릭하고 문자열로 변환을 선택한 다음, 이를 숫자 > 감소 아래 루프 작업 안에 놓습니다.
    1. 숫자 입력 필드에 $nCurrentUser$를 입력합니다.
    2. 소수점 뒤의 숫자 입력 필드에 0을 입력합니다.
    3. 출력을 변수에 지정 드롭다운 목록에서 dResponse -문자열을 선택합니다.
  15. 작업 창에서 사전 > 입력을 클릭하고 이를 루프 작업 안에 놓습니다.
    1. 사전 변수 필드에서 dRetrieveValue -사전을 선택합니다.
    2. 이 키와 연계 필드에 계수을 입력합니다.
    3. 새 값 드롭다운 목록에서 sCurrentUser - 문자열을 선택합니다.
    4. 이전 값을 변수에 지정 드롭다운 목록에서 프롬프트-지정 - 문자열을 선택합니다.
  16. 작업 창에서 Python 스크립트 > 함수 실행을 클릭하고 이를 루프 작업 안에 놓습니다.
    1. Python 세션 필드에 기본값을 유지합니다.
    2. 실행할 함수 이름 입력 필드에 get_full_name을 입력합니다.
    3. 함수에 대한 인수 드롭다운 목록에서 dResponseBody - 사전을 선택합니다.
    4. 출력을 변수에 지정 드롭다운 목록에서 dResponse -문자열을 선택합니다.
  17. 작업 창에서 Python 스크립트 > 함수 실행을 클릭하고 이를 루프 작업 안에 놓습니다.
    1. Python 세션 필드에 기본값을 유지합니다.
    2. 실행할 함수 이름 입력 필드에 get_location을 입력합니다.
    3. 함수에 대한 인수 드롭다운 목록에서 dResponseBody - 사전을 선택합니다.
    4. 출력을 변수 지정 드롭다운 목록에서 sLocation - 문자열을 선택합니다.
  18. 작업 창에서 메시지 상자를 클릭하고 이를 루프 작업 안에 놓습니다.
    1. 표시할 메시지 입력 필드에 다음 사항을 입력합니다.
      Full Name: $sFullName$ Location: $sLocation$
    2. > 초 후 메시지 상자 닫기를 선택하고 5를 입력합니다.
  19. 작업 창에서 Python 스크립트 > 닫기를 클릭하고 이를 루프 작업 밖에 놓습니다.
    1. Python 세션 필드에 기본값을 유지합니다.
  20. 저장을 클릭하여 bot을 저장한 다음 실행을 클릭합니다.
    bot이 실행되고, 실행을 성공적으로 마치기 전에 각각 약 5초 동안 위치와 함께 사용자 5명의 전체 이름을 표시합니다.
피드백을 보내주십시오