UIPath,RPA里算是比较简单易操作的一款软件了,因为公司业务的需要,代理uipath以及部署业务,所以接触到了uipath。从开始到最终做到企业项目部署,大概用了两个月的时间,收获不少。自己之前是做过后端开发,前端以及手机端软件自动化的相关开发工作(触动sprite....),所以学习起来挺快的。最终花了两周多的时间,阅读了官方的文档,uiapth官方的学院,以及第三方一些文档,完成了整个uipath的认证。
在学习过程中,发现中文的相关文档太少了,而且使用手册,如orchestrator、uipath activity、function都是英文的,不太友好(希望uipath大中华区的官方尽快完成这部分内容的汉化,降低学习成本)。整理了以下资料,供大家参考。包括学习时候的资料,视频链接,文档,uipath认证的笔试题,项目搭建题,项目考点的讲解。同时,如果有在学习中遇到问题,或者需要帮助的,可以加一下uipath学习群:479691895。
整理的一些线上学习的链接:
1.uipath学院,想过认证的同学,必看的,包含pdf文档、视频内容,知识点练习等内容,需要注册:https://academy.uipath.com
uipath academy课程
点击对应的课程后,再点右边的“ENROLL”就可以开始学习。每完成一个专项的学习,会获得相应的diploma。(这个跟后面的认证没关系,就是表示已经完成该门课程,没什么太大的用)。推荐从level1开始学习,到level3阶段,会有三个系统完整的项目,对后面的认证帮助很大
2.优酷网uipath中文视频,视频内容是从uipath academy中的,字幕应该用了某翻译软件翻译过来,看的还可以:https://list.youku.com/albumlist/show/id_51405216.html
3.uipath studio中文手册:https://www.jianshu.com/c/938e6c0d92ed ,这里翻译了部分文档,从02~84,中间有几篇比较重要的被屏蔽掉了,可以使用百度查看快照看到。感谢 Creator_蔚蓝 ,我的studio操作就是跟着这个文档学习的,学完了过certificate online quiz应该可以过(后面会详细说下uiapth certificate)
4.uipath studio 官方英文文档:https://studio.uipath.com/
5.uipath orchestrator官方英文文档:https://orchestrator.uipath.com/
6.uipath robot官方英文文档:https://robot.uipath.com/
7.uipath activity官方英文文档:https://activities.uipath.com/
8.uipath orchestrator管理中心:https://platform.uipath.com
这个就是robot调度中心,可以管理设置多个robot,process(每个在studio中发布的项目),JOBS(不同执行状态下的process,可以指定任务的robots和参数Parameters),SCHEDULES(配置process执行的时间,可以是某一时间处罚,或者循环执行等,类似linux的cron),ASSETS(自定义项目参数,常量等,常用登录账号凭证Credential),QUEUES(常与REFramework搭配使用,是一个事务数据的队列,可以用一个项目push transactionData到queue中,另外一个项目get transactionData下来,进行数据的处理,最终更新该transaction的状态。在我第二次certificate中,就涉及到了queue的操作以及transactionData处理的相关)。需要使用邮箱注册一个账号(与uiapth academy不是同一套账号体系)。
9.uipath 在线测试系统:http://acme-test.com/ ,这个在我们构建认证的项目中,要用到,单独需要使用邮箱注册,第一次进去后,需要点击User Options -> Reset Test Data
9.uipath认证中心:https://certificate.uipath.com 需要使用email新注册账号,可以与orchestrator账号一样。
认证中心就是真正的uipath考试认证,认证一共有两部分,第一部分为Online Quiz,一共45道题,
内容有三部分,foundation(10题)、orchestrator(10题)和advancedTraining(25题),通过需要答对70%的题目,有三次答题的机会。我在看完Creator_蔚蓝 的中文studio文档后考试结果对了33题,后面再通过academy的系统学习,基本都40题以上:
第一次答题结果
online quiz其实比较好过,多刷题,多看文档,跟着academy中的视频中的项目做一遍,基本都没什么问题。
第二部分就是 Practical Exam
就是根据题目需求,新建项目并打包zip上传,根据评分结果判定是否通过,满分100,70%通过认证。评分有一个依据,包括你是否达到项目要求,rename activity等等,
AdvancedCertification-GradingScheme
这个excel可以在Practical Exam中点击 consult the Grading Scheme 下载
我在认证时,一共遇到了两个项目,操作acme-test.uipath.com模拟系统中的vendor和invoice,操作的内容类似,我把原题粘贴上来,操作vendor:
In this exercise, you will create a UiPath automation that performs the steps below.To achieve this, you will use the REFrameWork as the starting template and follow the UiPath development best practices.Here are the steps performed by the Robot:1. Log in to https://www.acme-test.com;2. On the landing page, Dashboard, click or hover over the Vendors menu item and then click on Search for Vendor. Click on Display All Vendors. Scrape the data from the whole table displayed. The resulting datatable will be used as the input data for the process. Navigate back to the dashboard;Note: Navigation can be achieved in multiple ways by the robot - choose whichever you find best.3. For each Tax ID:- Navigate to Vendors - Search page (click or hover over the Vendors menu item and then click on Search for Vendor);- Type the Tax ID into the Vendor Tax ID field;- Click on Search;- Extract the values for the Vendor, Address and City and compare them with the values from the previously extracted table from the Display All Vendors page (check for EXACT match for all fields!);- If the values are not matching, this should be categorized as a Business Rule Exception;- If the City does NOT belong to the group {""Brasov"", ""Bucuresti"", ""Koln"", ""Moscow"", ""Berlin""}, this should be categorized as the second Business Rule Exception. We can only process requests from these cities. Check the City value extracted after the individual Tax ID search;- If no Business Rule Exception, Append the resulting datatable from each page into an CSV file; you shouldn't worry about the headers and format of the output file.Constraints to follow in the development, using the REFrameWork:1. TransactionItem datatype should be a DataRow. The process should recover and retry 2 times in case of errors in navigation between the Vendor Search and Vendor Search Results pages. One transaction is the action of navigating to the Vendor Search page, searching for the TaxID and scraping the values from the resulting one row table. (Similar to ACME Process 5 from the UiPath Academy).2. Create a separate workflow file for the Login to ACME. File input arguments: URL ; Username ; Password .3. Create a separate workflow file for closing ACME. 4. Add the ACME_URL and ACME_Credential to the Excel Config file.5. Populate InitAllApplications.xaml from the Framework folder with Invoking the Login to ACME and navigation to the Work Items.6. Populate CloseAllApplications.xaml from the Framework folder with Invoking the Close ACME.7. Populate KillAllProcesses.xaml from the Framework folder with killing the process used.8. Populate the Process.xaml file with the following actions: Navigation, Searching for TaxID, Scraping, Checking if the values match, Checking for the correct City, Appending to CSV.Important Note: Don't use external file references outside of the project folder (including Orchestrator Assets). Put all the used files inside the project folder, zip that folder and upload it to the UiPath Certification Platform.Zip ALL the used workflow files AND the output Excel file and upload the zip file to the UiPath Certification Platform.Good luck!
项目使用REFramework模板,可以在studio中,点击start,Robotic Enterprise Framework,新建一个企业模版。需要模拟登陆到https://www.acme-test.com;使用我们自己注册的帐号,这里可以新建一个子流程,用studio的web recording功能录制登陆输入用户名密码点击登陆的过程。
登录成功后的acme系统
然后模拟点击,search all vendors。然后获取表单数据,这里要用到studio的Data Scraping功能,输出datatable就可以了。
search all vendors页面,使用datascraping进行抓取
然后这个项目里,不需要用到queue,只需要把每个TransactionItem的类型改为dataRow,TransactionData修改为Datable即可,
设置TransactionItem的type为DataRow
在setTransactionStatus.xaml流程中,去掉每个子流程下的SetTransactionStatus activity。
这三个流程,需要每个点进去去掉SetTransactionStatus activity
注意CloseAllApplications.xaml和KillAllProcesses.xaml区别,一个关掉窗口,一个关闭应用。这个项目主要考点在于修改transactionitem的type为datarow这一部分,并且使用config文件。另外注意的是,使用background运行的方式,就是在click activity中勾选simulateClick。可以获得加分
勾选simulateClick
另外,如添加合适的log,try activity,rename activity,against hardcode等,都是评分点。在上传项目包后,大概1小时左右就会有认证结果。附一张我认证失败的截图,如果没有通过,会给出具体的可改进的point。(有些point,现在我也没搞懂...汗)
认证失败(只差3分)
这里的项目,会涉及到一些细节东西,我的整个项目工程已经打包放到了群共享文件里,供有需要的小伙伴参考(第一次认证,80%几率会是这个项目)
第二个项目,是invoice操作相关的,需要两个项目来完成。
具体的试题要求:
In this exercise, you will create a UiPath automation that performs the steps below.To achieve this, you will use the REFrameWork as the starting template and follow the UiPath development best practices.Here are the steps performed by the Robot in the Dispatcher:1. Log in to https://www.acme-test.com.
2. On the landing page, Dashboard, click or hover over the Invoices menu item and then click on Search for Invoice. Click on Display All Invoices.
3. Scrape the data from the whole table displayed.
4. For each row in the datatable, Add a queue item containing the Invoice Number, Vendor Tax ID and Invoice Item.
5. Close ACME System
Steps performed by the Robot in the Performer:
1. Log in to https://www.acme-test.com.
2. For each Queue Item:- Click or hover over the Invoices menu item and then click on Search for Invoice;- Type the Invoice Number retrieved from the queue item into the Invoice Number field field;- Click on Search;- Extract the values for the Vendor Tax ID and Invoice Item and compare them with the values from the queue item (check for EXACT match for all fields!);- If the values are not matching, this should be categorized as a Business Rule Exception, and the queue item should have the status set accordingly;- If the values match, the transaction is successful.
Note: Navigation can be achieved in multiple ways by the robot - choose whichever you find best.
Constraints to follow in the development, using the REFrameWork:
1. TransactionItem datatype should be a QueueItem. The process should recover and retry 2 times in case of errors in navigation between the Invoice Search and Invoices - Search Results pages. One transaction is the action of navigating to the Invoices Search page, searching for the Invoice Number and scraping the values from the resulting one row table.
2. Create a separate workflow file for the Login to ACME. File input arguments: URL ; Username ; Password .
3. Create a separate workflow file for closing ACME.
4. Add the ACME_URL and ACME_Credential to the Excel Config file.
5. Populate InitAllApplications.xaml from the Framework folder with Invoking the Login to ACME and navigation to the Work Items.
6. Populate CloseAllApplications.xaml from the Framework folder with Invoking the Close ACME.
7. Populate KillAllProcesses.xaml from the Framework folder with killing the process used.8. Populate the Process.xaml file with the following actions: Navigation, Searching for Invoice Number, Scraping, Checking if the values match, Handling the Business Rule Exception.Important Note: Don't use external file references outside of the project folder (including Orchestrator Assets).
Place all the used files within the project folder, zip that folder and upload it to the UiPath Certification Platform.Zip ALL the used workflow files AND the output Excel file. Then upload the .zip file to the UiPath Certification Platform.Good luck!
整个业务逻辑是:
1)Dispatcher:登录到acme-test系统,模拟点击invoice并获取数据,add TransactionItem到orchestrator中的queue中
queue中的transactionData,注意name与本地的config.xlsx中的OrchestratorQueueName的value值一致
2)Performer:登录到acme-test系统,模拟点击invoice,从queue获取数据,getTransactionItem,获取到invoceNumber,模拟输入搜索框,点击搜索获取到搜索结果,把搜索结果与TransactionItem中的数据比对,数据不一致抛出businessRuleException,一致的情况,就自动执行后续流程,设置transactionItem的status。
测试时候,应先执行dispatcher项目,把数据push到queue中,然后可以比对下业务数据量,以及对应的invoice的数据量,一致的情况,表示成功。然后再启动performer项目,拉取transaction中的数据(手动throw exception进行测试)
transaction的执行状态和结果
查看transaction中的具体数据
注意评分的point,与第一个项目一样,保证整个项目可以正常运行,最后在orchestrator中查看queue下transactionItem的所有执行情况。
两个项目的构建,有一些地方走了不少弯路,最后还是看了官方的academy的视频和项目文档来解决的。所以还是推荐跟着uipath的academy来系统的学习,基本过了认证没什么问题。
这两个项目都上传到了群共享文件中,有需要的参考一下。后续会继续更新一些整个项目构建过程,以及细节的东西,RPA在中国市场,还有很大的发展潜力,也希望能这篇文章能帮到更多RPA的爱好者和RPA从业者。