• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Uipath開發過程中最常見的5類錯誤

    標簽: python  uipath  rpaplus  rpa

    在大型企業RPA CoE團隊工作的RPA Developer ,由于團隊需要遵循的標準流程,代碼審查過程的實施,可以確保最佳編碼實踐和盡可能多庫中可重用的代碼模板。但是更多的剛開始接觸Uipath專業人員剛開始往往很難避免這些錯誤。

     

    • UiPath RPA開發人員的5個常見錯誤
      • #1 未找到選擇器/ UI元素未發現
      • #2 調用的對象是空的
      • #3 活動超時問題
      • #4圖片未找到問題
      • #5保存下載文件的問題

     

    UiPath RPA開發人員的5個常見錯誤

     

    #1 未找到選擇器/ UI元素未發現

    異常類型:UiPath.Core.SelectorNotFoundException

    Uipath流程測試或執行的時候,最容易出現的錯誤就是元素識別錯誤。其實無論是使用Uipath還是其它RPA工具,這個錯誤始終都可以排在第一位。
    導致這個錯誤的原因一般有以下幾點:

    * 在一個或多個屬性中捕獲的特定于環境的名稱,例如qa / uat / dev等。應用程序URL包含端口號,該端口號在不同環境中有所不同 “ cls”或“ title”或CSS屬性中的動態值。
    * 在單擊或在某些字段中鍵入之前,沒有檢查構建以測試元素是否存在。
    * 使用動態選擇器來構建標題或其他格式不正確且空間未調整的屬性。
    * 使用id屬性;有時屬性ID會動態更新,因此請使用通配符并形成自己的自定義選擇器。
    * 未使用“附加瀏覽器/附加”窗口。

     

    RPAPlus:關于Attach Browser或Attach Windows ,這一步最核心的意義是要告訴RPA,你需要跟某個特定的瀏覽器打交道,而不是另一個有相似Selector的窗體,別的窗體獲取信息可能報錯,可能獲取了錯誤信息而不自知。Uipath在元素拾取階段并不會像BluePrism之類的工具強制Attach ,這樣帶來的使用體驗是,一個看起來更方便,一個更嚴謹。

     

    #2 調用的對象是空的

    這是Uipath開發容易犯下的另一個常見的錯誤。

    異常類型:System.NullReferenceException

    當使用沒有設置值的變量(未初始化)時,通常會發生這個錯誤。該錯誤的說明是很容易理解,但是如果沒有太多的開發經驗還是比較容易犯這個錯誤。

    因此,此錯誤描述說被調用以獲取或設置其值的對象沒有引用。這意味著您正在嘗試訪問未實例化的對象。

    “如果可以為空,則將為空”

    這是一個非常常見的錯誤,可能由于各種原因而發生。根本原因確實取決于遇到的特定情況。

    為避免此問題,

    * 在if語句中專門使用變量之前檢查null
    * 檢查是否從其他工作流程中收到任何參數
    * 檢查是否使用剪貼板設置變量值
    * 檢查文件讀取操作后是否嘗試獲取文件內容
    * 循環活動前檢查并驗證DataTables

     

    Uipath Studio中有“刪除未使用變量的功能”,不過可能無法完全消除以上的問題。

     

     

     

    #3 活動超時問題

     

    異常類型:UiPath.Core.ElementOperationException:達到超時

    當機器人正在等待某些元素出現在屏幕上并且該元素即使在30秒(默認)后仍在屏幕上不可用時,會發生錯誤“超時”。

    • 盡管可以使用元素的外觀,但是元素的背景代碼可能未完全加載到系統中。
    • 某些不需要的彈出屏幕也會導致異常。
    • 也可能是由于網絡延遲導致在特定的超時窗口中無法正確加載。
    • 或者可能完全在不同的屏幕上

    在對元素執行任何操作(如單擊/鍵入/雙擊/雙擊等)之前,可以使用“元素存在”活動修復大多數問題, 以便確認機器人是否能夠檢測到元素是否正確加載。

    為了避免這種情況–

    * 可以在“超時 ”字段中增加超時量 。確保使用配置值,并將配置文件中的變量和值作為字典鍵值對,參考REFramework中使用配置文件進行操作,并從常量表中獲取值一樣。
    * 如果使用的屬性為“ WaitForReady”的活動,則嘗試使用“無/完整”的設置。
    * 在對元素執行任何操作(例如,單擊/鍵入/雙擊等)之前,請使用活動“元素存在”。

     

    #4圖片未找到問題

    異常類型:Uipath.Core.ImageOperationException:找不到圖像

    此類問題的主要原因是,當從Orchestrator運行流程時,它以不同的屏幕分辨率(與可能用于開發自動化工作流程的屏幕分辨率)連接到遠程環境(您的運行時機器人)。

    在工作流程中,您可能已經使用了圖像來單擊它,但它不在遠程屏幕的可見部分中,而是有滾動條……

    為避免此類情況,請確保為orchestrator應用相同的屏幕分辨率設置,以使編排器打開RDP CONNECTION。

    * 首先開發一個工作流程,以獲取開發環境的屏幕分辨率設置。
    * 使用“拍攝屏幕快照”活動和“保存圖像”活動來捕獲開發環境的屏幕分辨率。
    * 檢查保存的圖像屬性中的詳細信息選項卡。注意深度,高度和寬度。
    * 登錄到Orchestrator并更改機器人的運行時設置(分辨率寬度,高度和深度)。
    * LoginToConsole設置為false。在注銷RDP的情況下,機器人將能夠創建自己的新的單獨會話。
    * 重新啟動uipath服務(運行-> services.msc-> Uipath Robot->重新啟動)

     

    注意: 確保從機器人機器注銷,不要直接斷開連接。
    可以在Orchestrator運行時窗口或Robot UiPath.Settings文件中應用設置。前者將覆蓋后者的設置。

    #5保存下載文件的問題

    對于許多Uipath開發人員來說,這是個很麻煩的問題。

    以下是一些相關問題–

    • 無法將文件保存到特定位置
    • 文件另存為選擇器不起作用
    • Type into 文件保存不起作用
    • 在保存當前日期的文件時有一些問題
    • 從IE下載文件時出現問題,因為無法檢測到另存為工具欄
    • 從Chrome下載文件時出現問題,因為它會強制下載
    • 從Internet Explorer保存文件時選擇下拉菜單另存為的問題

    述所有問題都沒有萬能的解決方案,也取決于瀏覽器設置。

    為了避免工作流中出現此類問題,應該檢查以下內容

    * 對于“另存為文件”選擇器不起作用,因為選擇器對于指向對話框的類值而言看起來不正確。確保檢查saveas按鈕的cls屬性。
    * 對于輸入路徑時遇到的問題,可以使用path+”\”+document_name+”. extention”+”[k(enter)]” ,并啟用SENDWINDOWMESSAGE屬性,并禁用“模擬類型”;還要在DELAYBETWEENKEYS中設置一些時間戳,大約2000毫秒
    * 要保存具有今天日期的文件,請使用“filename” +”_”+now.tostring(“dd_MMM_yy”)+”.extension” –可以相應地更改日期格式
    * 對于與chrome保存位置有關的問題,請選中“在下載之前詢問每個文件的保存位置”旁邊的復選框。在瀏覽器設置中是否選擇。Chrome的默認行為是自動將文件下載到當前設置的“下載”文件夾中。需要將Chrome瀏覽器的設置更改為在下載文件之前先詢問位置

     

     

    以上問題在Uipath開發過程中比較容易出現,當然還有更多的問題,也歡迎到

     Uipath子論壇 留言探討。

     

    「RPAPlus」 | 專注RPA+AI 咨詢

    版權聲明:本文為dev_kex原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/dev_kex/article/details/109214923

    智能推薦

    正則在開發過程中的妙用

    1.大量字段的sql語句 去掉`` 把``替換掉格式化  把所有的字段前面加上":"  編寫正則替換之 替換結果為 2.爬蟲請求參數格式化 待格式化字符串1 get請求的原始數據 打開editplus,ctrl+f 格式化結果如下,最后一行自行調整 待格式化字符串2 從Fiddler的WebForms拷貝下來的原始數據 正則如下 格式化后結果  3...

    Unity_Shader高級篇_13.1_Unity Shader入門精要

    13.4 再談邊緣檢測 在12.3中,我們曾使用Sobel算子對屏幕圖像進行邊緣測試,實現描邊的效果。但是,這種直接利用顏色信息進行邊緣檢測的方法會產生很對我們不希望得到的邊緣線,如圖13.8所示。 可以看出,物體的紋理、陰影等位置也被描上黑邊,而這往往不是我們希望看到的。在本節中,我們將學習如何在深度和法線上進行邊緣檢測,這些圖像不會受紋理和光照的影響,而僅僅保存了當前渲染物體的模型信息,通過這...

    Seata AT 模式 原理詳解

    目錄 前提 整體機制 寫隔離 讀隔離 工作機制 一階段 二階段-回滾 二階段-提交 附錄 回滾日志表 前提 基于支持本地 ACID 事務的關系型數據庫。 Java 應用,通過 JDBC 訪問數據庫。 整體機制 兩階段提交協議的演變: 一階段:業務數據和回滾日志記錄在同一個本地事務中提交,釋放本地鎖和連接資源。 二階段: 提交異步化,非常快速地完成。 回滾通過一階段的回滾日志進行反向補償。 寫隔離 ...

    Python爬蟲 | 滑動驗證碼**

    極驗驗證碼:需要手動拼合滑塊來完成的驗證,相對圖形驗證碼識別難度上升了幾個等級。下面用程序識別并通過極驗驗證碼的驗證,其中有分析識別思路、識別缺口位置、生成滑塊拖動、模擬實現滑塊拼合通過驗證等步驟。需要用到Chrome 瀏覽器,并配置 ChromeDriver ,要用到的 Python 庫是 Selenium。 1、 對極驗驗證碼了解   極驗驗證碼官網:http://www.geetest.co...

    MobaXterm root用戶連接虛擬機時出現Access denied

    1.linux打開ssh服務 2.新建連接 首先在romote host中填入要連接的主機ip specify username中填入連接的用戶名 port為連接端口默認為22 輸入連接用戶的密碼 linux默認不顯示密碼 發現密碼正確但是連接不上 問題解決 /etc/ssh/sshd_config 配置問題: #PermitRootLogin prohibit-password將該行改為Perm...

    猜你喜歡

    Linux C 預處理命令

    預處理命令 一、宏定義 C語言標準允許在程序中用一個標識符來表示一個字符串,成為宏。標識符為宏名 ,在編譯預處理時,將程序中所有的宏名用相應的字符串來替換,這個過程稱為宏替換,宏分為兩種:無參數的宏和有參數的宏。 1.無參數的宏 無參數宏定義的一般形式為:#define 標識符字符串 “#”代表本行是編譯預處理命令。define是宏定義的關鍵詞,標識符是宏名。字符串是宏名所...

    有意思的算法(一)----冒泡排序

        冒泡排序的基本思想是:每次比較兩個相鄰的元素,如果它們的順序錯誤就把他們交換過來。     下面舉一個具體的例子來介紹一下冒泡排序。     有12,35,99,18,76五個數進行從大到小的排序,既然是從大到小排序,也就是說越小的越靠后,可不要把這句當成廢話,這可是最關...

    cordova學習筆記_創建一個cordova項目

    環境和工具 webstorm Node.js JDK git 打開git bash,進入你要創建項目的目錄,鍵入以下命令 進入cordovaDemo這個文件夾: 添加Android平臺 cordova platforms add android platforms中已經有了一個Android平臺 下面打開webstorm,然后file - open 找到cordovaDemo打開 現在在webst...

    TensorFlow識別圖片數字

    一、 第一步是先用tensorflow官網(http://www.tensorfly.cn/tfdoc/get_started/introduction.html)的手寫體數字識別例子訓練好一個模型,訓練完準確率一般能達到99%,然后保存訓練好的模型。 二、 主文件 完整代碼地址...

    spring boot項目搭建helloworld(一)

    備注:本文僅限快速啟動spring boot項目(尤其初學者了解spring boot框架) 結果展示: 工具: 編譯器:myeclipse2014  JDK:jdk1.8(1.8以下也可以但不可低于1.5,但會在項目上報小感嘆號(不影響運行)) maven:maven-3.5.3(myeclipse自帶maven也可以,但官網要求3.2或以上) spring boo...

    精品国产乱码久久久久久蜜桃不卡