【RPA Developer Advanced-Robotic Enterprise Framework Deep Dive】机器人企业框架深入挖掘Walkthrough – UiDemo

课程目标:

1、解释如何构建ReFramework模板; 

2、解释ReFramework模板是如何工作的;

3、使用ReFramework来自动化您自己的流程。


 

一、课程里面涉及的系统

     ACME System 1 :https://acme-test.uipath.com/login

     可以先去注册一个,需要注意的地方:

  • 确保你使用的电子邮件地址与你在学院注册时使用的相同。
  • 第一次成功登录时需要执行的第一步是访问User Options部分并单击Reset Test Data按钮。为您的用户帐户生成一组完整的测试数据。它包括供应商,发票,报告,客户,支票,帐户等。
  • 所有用户都需要在课程开始前安装UiPath Studio(试用版或社区版)。

 

 

  •  我注册了下,貌似不行。。。 
  • 多试几次刷新下页面,然后底下就会出现选择验证码,然后就能注册成功了。进入页面 按提示操作,先初始化数据。 User Options -> Reset Test Data

然后就可以跟着课程的步骤实现。

 


 

二、练习项目

业务场景:

  有一个叫‘UiDemo’的程序,需要实现自动化流程。需要将Excel中的数据,输入到UiDemo中。这个不难,需要一个Read Range读取Excel中的数据范围,存入DataTable,然后遍历DataTable中的每一行,写入到UiDemo程序中。然而,这里的挑战是由于有很多的数据要写入,需要多个机器人同一时间工作,根据解决方案架构师和业务分析,需要将流程分配给多达5个机器人。

这个练习的项目涉及到的东西还挺多的。我一步一步的实现。官网课程也有文档。写的不够详细。我爸自己实现的过程,遇到的问题都记录下。分享学习。回头我也把我的项目上传到GitHub.

1、准备

先到官网下载课程需要的资料。https://academy.uipath.com/learningpath-viewer/1992/1/150802/16

下载Excel和UiDemo.exe文件。还有操作说明文档PDF。

我用的是 UiPath2020.6版本

然后需要先登入Ochestrator,查看机器人是否配置好。

本地打开Assistant,连接成功

 

发现云上的Ochestrator不太稳定,经常掉线。导致流程跑起来的时候 中间会报错,中断。

2、创建REF项目

  • 项目名称 UiPath_REFrameWork_UiDemo
  • 项目描述:Demonstrating the REFramework with UiDemo

           创建好了文件的目录是这样的:

            

 

 

          解压后将Transactions.xlsx放到\Data\Input中,如果是老版本的studio 就放到Data目录下就行。

3、创建Dispatcher – UploadQueue.Xaml

点击顶部菜单New,选择Sequence。这是做好的样子。

         

 

 

 

  •  添加Read Range 课程里选择的是WorkBook下的ReadRange。Excel下的也能用,用法不太一样。

         

        选择Transactions.xlsx,然后读取Sheet1的内容,Range默认为空,获取全部的数据。这里需要创建一个DataTable类型的数据,来存储Excel中的内容。

 

 

         

 

  •  然后添加一个For Each Row 遍历DataTable。在Body中添加一个 Add Queue Item

           需要编辑的属性:ItemInformatica,需要将DataTable中的三列数据插入到Queue中。

                                        QueueName,定义队列名称,需要和Orchestrator上的队列名称一致。

     

 

  • Orchestrator上新建队列Queue,名称要和上一步中写的一样。其他的选项都默认就行。

         

 

        

 

        这样就可以了。运行一下。然后看Orchestrator,监控菜单下,就可以看到,将Excel中的数据上传到队列中。有日志数据。

                        

 

 

 4、修改配置文件Config.xlsx

在Data目录中,需要修改Settings页中

  • OrchestratorQueueName为上面设置的队列名称
  • 然后添加一个UiDemoCredential的值为UiDemoCreDential_REFramework

          

 

          UiDemoCreDential_REFramework需要在Orchestrator中的Asset中先配置好。注意类型type要选择Credential。这个是管理UiDemo.exe登入的账号和密码。为了安全考虑,选择这种方式。studio有提供可以读取Windows的凭证,存在Windows的凭证,然后去获取也行。

    Asset name就是UiDemoCreDential_REFramework,然后指定一个默认值,然后可以选择机器人,可能每台机器人登入的账号和密码不一样,都可以设置。 

        

 

修改Asset页,新增一个UiDemoPath,用来指定UiDemo.exe的存放位置。

然后这个UiDemoPath,一样需要在Orchestrator的Assets中设置好。类型是Text。

 

 

     

 

 

 

 5、创建UiDemo_Login.xaml

在项目目录下新建个文件夹UiDemo subfolder,存放UiDemo_Login.xaml。

建好的流程如图:

 

  • 创建参数和变量

Arguments:in_Credential

 

 

 两个变量Username和Password:类型为SecureString

  •  先放一个Invoke Workflow File 执行"Framework\GetAppCredentials.xaml",这个主要是获取Orchestrator平台上前面设好的用户名和密码。

GetAppCredentials.xaml是框架里面写好的,需要传这几个参数;就是上面定义的参数和变量名称。

 

 

  • 完成输入账号密码,并登入UiDemo

这一步需要先打开UiDemo.exe界面,在Main流程中,一开始初始化会先启动UiDemo.exe。

所以我们先打开,需要实现输入登入功能。

添加一个Attach Window,需要先录制到窗口,

Username:Type into 抓取Username输入框,Text属性输入定义的变量Username+回车键

Password:Type Secure Text,在Input的Secure Text输入Password变量名称

Login :Click

 

 

 

 然后就创建完成!

6、修改InitAllApplications.xaml

 

 

我们需要在InitAllApplications.xaml启动UiDemo.exe

添加一个

 

将selector选择器 选中UiDemo.exe窗口,然后修改FileName值:in_Config("UiDemoPath").ToString

这个值就是初始化的时候 框架里面自带的功能去去掉Config中表格的数据。这边直接这么用就可以了。

 

在添加一个Sequece,添加Invoke workflow file 

传入参数值:in_Config("UiDemoCredential").ToString

 

 

 

 保存!

7、退出程序,杀进程

CloseAllApplications 、KillAllProcesses.

 

 

 

    

 

 

 8、最重要的Process.xaml

主要的业务流程在Process。xaml中实现。

 

 

  • 创建这几个变量

 

 

  • 添加一个Sequence,对变量赋值   

CashIn=in_TransactionItem.SpecificContent("CashIn").ToString

OnUsCheck=in_TransactionItem.SpecificContent("OnUsCheck").ToString

NotOnUsCheck=in_TransactionItem.SpecificContent("NotOnUsCheck").ToString

 

 

 

  • 添加个FlowDecision,条件:Double.TryParse(CashIn, dbl_CashIn) AND Double.TryParse(OnUsCheck, dbl_OnUsCheck) AND Double.TryParse(NotOnUsCheck,dbl_NotOnUsCheck)将字符串类型转为double类型。判断是否有值。

        

没有值得,抛出异常,Throw,异常信息:new BusinessRuleException("Input Data Invalid")

 

有值,继续判断  dbl_CashIn是否大于1000.超过1000则抛出异常:new BusinessRuleException("too large")

 

 小于,就进入UiDemo录入数据。

  • 我是用录制的功能,比较方便。Desktop。主要是三个输入框然后一个按钮。

 

 

 

 到这里整个REF框架实现完毕。

然后可以运行,看有什么报错。

9、异常报错信息

 这个可能是Orchestrator链接断开了。经常不稳定。

 

 

 这篇就先写到这里,有问题可以留言,有什么不对的地方也欢迎提出来。一起讨论。

项目源码地址:

https://github.com/sanhecao/MyUipath/tree/master/Uipath_REFrameWork_UiDemo

posted @ 2020-07-22 18:48  blossomhong  阅读(31)  评论(0编辑  收藏