閱讀及檢閱 Automation Anywhere 文件

Automation Anywhere Automation 360

關閉內容

內容

開啟內容

使用 Python 生成 bot 以解析 JSON 響應

  • 已更新:2020/11/16

    使用 Python 生成 bot 以解析 JSON 響應

    使用 Automation 360 Python 腳本執行 Python 函數以生成 bot。使用 Python 函數來解析來自 REST Web 服務 GET 請求的 JSON 響應。

    先決條件

    確保您具有以下內容以構建: bot

    • 基本瞭解 Python 編程語言。
    • 創建的基本體驗 Automation Anywhere bots
    • 下載並安裝 Python 3.

      下載 Python

      將路徑添加到 Environment 變量,並在 Python 安裝過程中選擇 Add Python 3.8 to path (將 Python 3.8 添加到路徑)。

    程序

    1. 登入 Control Room
    2. 轉到 “機器人 > 程序我的機器人程序”,然後單擊 “創建機器人程序 ”圖標。
    3. 在 Name (名稱)字段中,輸入 PythonTutorial( PythonTutorial )。
    4. 單擊 創建和編輯
    5. 在“操作”窗格中,單擊 “變量 ”以創建以下新變量:
      1. 名稱 dResponse類型 > 詞典子類型 > 字符串
      2. name dRetrieveValueType > Dictionary 和 Subtype > any
      3. 名稱 sResponseBody類型 > 字符串
      4. 名稱 sFullName鍵入 > String
      5. 名稱 位置類型 > 字符串
      6. 名稱 sTotalUserCount類型 > 字符串
      7. 名稱 nTotalUserCount類型 > 編號
      8. 名稱 nCurrentUser鍵入 > number
      9. 名稱 sCurrentUser鍵入 > String
    6. 從 [ 動作 ] 窗格中,選取 [ REST Web 服務 > 取得方法 ] ,並將其置於 bot 流程的開頭之下。
      1. 在 URI 字段中,輸入 https://randomuser.me/api/?results=5&inc=name,email,location&nat=us
        這是一個將隨機用戶詳細信息返回到調用應用程序的示例 API 。
      2. 在“驗證模式”下拉列表中,選擇 “無驗證”。
      3. 在將輸出分配給變量下拉列表中,選擇 dResponse -Dictionary of Strings
    7. 在 Actions (操作)窗格中,單擊 String > Assign(字符串分配)。
      1. 在“選擇源字符串變量值”字段中,輸入 $dResponse {Body }$
      2. 在將輸出分配給變量下拉列表中,選擇 dResponseBody - String
    8. 在 Actions (操作)窗格中,單擊 Python script > Open( Python 腳本打開)。
      1. 在 Python ( Python )字段中,選擇 Manual input(手動輸入)。
      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. 在 Actions (操作)窗格中,單擊 Python script > Execute Function( Python 腳本執行功能)。
      1. Python 會話 字段中,保留 默認值。
      2. 在輸入要執行的函數的名稱字段中,輸入 get 節點計數
      3. 在“函數參數”下拉列表中,選擇 “ dResponseBody - 字符串”。
      4. 在將輸出分配給變量下拉列表中,選擇 sTotalUserCount - String
    10. 在操作窗格中,單擊 字典 > 放置
      1. 在詞典變量字段中,選擇 dRetrieveValue -Dictionary
      2. 在“關聯到此鍵”字段中,輸入 response
      3. 在“新建值”下拉列表中,選擇 “ dResponseBody - 字符串”。
      4. 在將上一個值分配給變量下拉列表中,選擇 提示 - 分配 - 字符串
    11. 在 Actions (操作)窗格中,單擊 String > to Number(字符串至編號)。
      1. 在輸入字符串字段中,輸入 sTotalUserCount
      2. 在將輸出分配給變量下拉列表中,選擇 nTotalUserCount - Number
    12. 在 Actions (操作)窗格中,單擊 Loop > Loop (循環)
      1. 在循環類型 > 迭代器中, 從 下拉列表中選擇 n 次。
      2. 在“時間”字段中,輸入 $nTotalUserCount$
      3. 在 Assign the current value to a variable (將當前值分配給變量)下拉列表中,選擇 nCurrentUser - Number( nCurrentUser - 編號)。
    13. 從“操作”窗格中,單擊 “編號”,選擇 “減量 ”並將其放入 循環 操作中。
      1. 在 Enter Number (輸入號碼)字段中,輸入 $nCurrentUser$
      2. 在輸入遞減值字段中,輸入 1
      3. 在 Assign output to a variable (將輸出分配給變量)下拉列表中,選擇 nCurrentUser - Number( nCurrentUser - 編號)。
    14. 在 Actions (操作)窗格中,單擊 Number(編號),選擇 to string (以字符串)並將其放入 Loop (循環)操作的內部,編號 > Decent.
      1. 在輸入數字字段中,輸入 $nCurrentUser$
      2. 在“輸入小數點後的位數”字段中,輸入 0
      3. 在 Assign output to a variable (將輸出分配給變量)下拉列表中,選擇 sCurrentUser - String( sCurrentUser - 字符串)。
    15. 在 Actiond 窗格中,單擊 Dictionary > put 並將其放入 Loop 操作中。
      1. 在詞典變量字段中,選擇 dRetrieveValue -Dictionary
      2. 在“與此鍵關聯”字段中,輸入 count
      3. 在“新值”下拉列表中,選擇 sCurrentUser - String
      4. 在將上一個值分配給變量下拉列表中,選擇 提示 - 分配 - 字符串
    16. 在“操作”窗格中,單擊 Python 腳本 > 執行函數 ,並將其放入 循環 操作中。
      1. Python 會話 字段中,保留 默認值。
      2. 在“輸入要執行的函數的名稱”字段中,輸入 “ get _full_name”。
      3. 在“函數參數”下拉列表中,選擇 dRetrieveValue - Dictionary
      4. 在將輸出分配給變量下拉列表中,選擇 sFullName - String
    17. 在“操作”窗格中,單擊 Python 腳本 > 執行函數 ,並將其放入 循環 操作中。
      1. Python 會話 字段中,保留 默認值。
      2. 在輸入要執行的函數的名稱字段中,輸入 get 位置
      3. 在“函數參數”下拉列表中,選擇 dRetrieveValue - Dictionary
      4. 在將輸出分配給變量下拉列表中,選擇 sLocation - String
    18. 在 [ 動作 ] 窗格中,按一下 [ 訊息方塊 ] ,然後將它放在 [ 迴圈 ] 動作中。
      1. “輸入要顯示的消息 ”字段中,輸入以下內容:
        Full Name: $sFullName$ Location: $sLocation$
      2. 選擇 秒後關閉消息框 > , 輸入 5
    19. 在“操作”窗格中,單擊 Python 腳本 > 關閉 ,並將其置於 Loop 操作之外。
      1. Python 會話 字段中,保留 默認值。
    20. 單擊 保存 保存 bot,然後單擊 運行
      bot 運行,顯示五個完整的用戶名,每個用戶名的位置大約爲 5 秒,然後才能成功執行。
    傳送意見反饋