zoukankan      html  css  js  c++  java
  • Uipath开发过程中最常见的5类错误

    • 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浏览器的设置更改为在下载文件之前先询问位置
  • 相关阅读:
    Win7+IIS伪静态 UrlRewriter配置
    让VS2010打包工具找回丢失的.net 2.0 .
    高效注册DLL控件 让你的IE浏览器复活
    查询及删除重复记录的方法
    .NET代码模板生成工具CodeSmith 5.0.1 专业版完美版下载
    如何使用CslaGen生成CSLA DAL层代码
    用C# + WebBrowser控件抓取AJAX页面的内容[转]
    了解IIS6应用程序池假死问题解决办法
    美化界面2
    C# WebBrowser高级应用
  • 原文地址:https://www.cnblogs.com/soundcode/p/13855936.html
Copyright © 2011-2022 走看看