RPA+自动化工具之术业有专攻篇

在9月16号,51RPA小编分享了《RPA之术业有专攻篇》文章中提到,要能作到真正的到独当一面,写出优化,健壮,安全,通用和易维护的代码,RPA的开发人员须要有必定的开发经验,专业的人作专业的事才是正道。分享一下在项目开发过程当中遇到的问题,以及如何解决的过程,延伸下“术业有专攻”这个话题。html

1.jpg

操做的是某网上银行的桌面版的客户端,里面包含了自定义的组件。需求是调整记帐日期的开始日期和结束日期里的值,经过手动的操做方式是将光标移动到年份,经过上下键调全年份,再经过右方向键移动到月份,经过上下键调整月份,相似的方法再调整日期。编程

2.jpg

该案例的难点在于记帐日期为自定义控件,从表面看就一个字段,实际点击进去会有三个独立的字段(年月日),另外经过UiPath进行控件抓取也只能抓到整个字段,没法抓到年月日。 安全

初步分析以后,会有下列三种的实现方式:工具

一、经过Type into,直接将日期赋值到记帐日期中测试

UiPath找到的开始日期和结束日期的选择器的属相彻底是一致的,没法进行区分。致使在赋值的时候只能到结束日期上,没法赋值到开始日期,而且年月日的顺序会有错误。优化

二、经过Send Hotkey 发送Tab键到记帐日期中spa

经过发送Tab键能够跳到结束日期,可是再经过上下键调整时,光标会自动跳到数据筛选中。另外经过Tab进行光标跳转时,每一次跳转的路径也不相同,没有规律可寻,没法搞定。.net

三、经过Click Text的相对位置,找到记帐日期htm

经过Click“记帐日期”的相对位置定位到开始日期中的年份中,可是再经过上下键调整时,光标会自动跳到数据筛选中,没法搞定。blog

另外须要说明下,在操做网银这种软件时,对代码的健壮性要求要高些,尽可能避免使用Tab键之类的键鼠操做,由于这种系统的版本升级比较频繁,版本间可能存在大的差别性。

通过上述的三种方法的测试,基本上肯定经过UiPath自己是没法完成这一操做,只能借助第三方的自动化工具了。

在《请理性看待RPA》一文中提到RPA自己就是自动化工具的一种,在RPA这一个词语流行以前,市场上已经存在了多个开源或者免费的自动化工具,其中比较有表明性的有两个:

Selenium -是一个开源的自动化工具,其主要用于Web应用程序的自动化测试。

AutoIt – 是一个免费的自动化工具,用于Windows GUI (图形用户界面) 中进行自动化操做。

对于这两种自动化工具的操做,就彻底属于软件开发的范畴了,须要大量的编程。

像这种对GUI进行操做的状况,就能够尝试使用AutoIt。经过使用AutoIt对记帐日期进行识别,发现能够经过indexid将开始日期和结束日期进行区分,也就是能够定位这两个字段。

最终解决方案为UiPath调用AutoIt来实现,以下:

  • 一、经过C#调用AutoIt的DLL文件,编写代码去定位开始和结束日期,并赋值。
  • 二、将代码经过VS发布成nuget包。
  • 三、 在UiPath中引入包,并传入参数进行调用。

另外还有一种状况,有些自定义的控件(例如Table),经过RPA或者自动化工具是没法抓取其内部的属性,这种只能解析Visual Tree,经过父节点循环找到其子节点和相应的属性值,以后再进行相关的取值,这也须要必定的编程技巧和经验。

对于RPA开发者来讲,具备必定的.net的开发经验和熟悉RPA工具是必备的技能,最好对其余的自动化工具或技术手段也要熟悉,还须要有能必定的解决问题的能力。

像这样对技术的宽度和深度的要求,对非开发背景的人员来讲,犹如一道鸿沟,很难跨越。

闻道有前后,术业有专攻,专业的人作专业的事才是正道!

原文连接:https://www.51rpa.net/rpaedu/...

相关文章
相关标签/搜索