Uipath开发过程中最常见的5类错误
在大型企业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。
* 首先开发一个工作流程,以获取开发环境的屏幕分辨率设置。
* 使用“拍摄屏幕快照”活动和“保存图像”活动来捕获开发环境的屏幕分辨率。
* 检查保存的图像属性中的详细信息选项卡。注意深度,高度和宽度。