解析UiPath官网Level 3 - Advanced Training中第二题Calculate Client Security Hash

[TOC]
这篇文章主要说明如何脱离官方给出的开发手册并且不使用Orchestrator来如何完成UiPath学院高级认证中的第二大题"计算客户加密哈希值"(Calculate Client Security Hash)。

一、题目解析

该题目主要是从ACME网站中,获取类型为WI5的数据的详细信息,然后拼接字符串从指定的哈希网站获取字符串哈希值,之后在详情页面中点击update work item,在弹出的窗口中更新哈希值及状态值即可。

在这个题目中,官方给出了两个文档:

  • Calculate Client Security Hash_PDD _v1.3.pdf

这个文档PDD即流程设计说明书(Process Design Document),其中描述了这个流程将要做的业务概要、业务流转的流程图、业务中的关键步骤序列、规定流程范围、异常处理方式以及
在开发机器人之前的条件和要求。本设计文件作为基础
为开发人员收集机器人自动化所需的详细信息的文档
业务流程。

  • Calculate Client Security Hash_Walkthrough_Short_v1.0.pdf

这个文档可以理解为开发手册,详细给出了在开发过程中所需要做的工作内容,其中包括所用到的配置文件、配置文件参数说明、流程开发中的Activities等内容。

二、流程说明

业务流程图如下:

image

流程步骤简述:

  1. 打开浏览器,并进入https://acme-test.uipath.com/account/login网站
  2. 使用用户名密码登录网站
  3. 在主页点击Work Items按钮,进入到Work Items列表。
  4. 选择类型为WI5的数据,并点击Action中的放大镜进入到详情页面。
  5. 复制详情页面中的信息
  6. 进入到http://www.sha1-online.com/网站,将上一步复制的信息按照"[ClientID]-
    [ClientName]-[ClientCountry]"格式进行字符串拼接(中间为 "-" ),并填入到网页中。
  7. 点击Hash按钮获取加密之后的哈希数值。
  8. 返回值WorkItem的详情页面并点击Update Work Item
  9. 将获取到的哈希值填入到Comment文本框,并将New Status修改为Completed
  10. 循环4-9步骤,将所有Work Item处理完毕。

三、开发手册问题

在官方给出的开发手册中,将一些变量或参数都存储在了Orchestrator中的Assert中,但是很多朋友并不是很理解Orchestrator及其功能,新手如果按照官方的开发手册来开发流程的话,开发难度比较大,也比较难理解。

所以通过这篇文章主要说明如何脱离官方给出的开发手册并且不使用Orchestrator来如何完成这道题目。

四、开发

1. 主模块划分

如下图为主流程部分,其中只包括了是三个Sequence,分别用于读取用户配置、处理主业务逻辑、流程结束清理。

image
  • 1.Read Config: 在流程用到了用户名密码这样敏感的数据,应该将这些数据单独放置在服务器端或者加密之后的配置文件中。这里我们可以将它放置在加密之后的Excel文件中,通过读取excel来获取用户名密码,也符合题目要求的安全性。
  • 2.Main-Process: 主要用于主业务逻辑的使用,通过调用其他的XAML脚本文件,达到方便开发、调试的目的。
  • 3.End Process: 主要完成一些在主业务流程结束之后的收尾工作,如退出系统、关闭浏览器等动作。

2. 业务模块划分

业务主模块流程如下,其中主要包括系统登录、表格数据获取并输出、更新WorkItem。


image
  • LoginSys :使用此模块实现系统登录的自动化。
  • GetProcessData :获取表格中的所有数据并输出到文件中

为什么要输出到Excel文件中?

解:方便后续流程的调试和模块解耦。将数据持久化到某个文件中,可以方便后续流程直接使用数据,而不需要到网页中再抓取数据,浪费时间。

  • UpdateWI5 workflow:从上一个模块中产生的数据文件中获取WorkItem,并更新数据。

3. 获取数据

获取数据部分,主要考察Data Scraping的使用。
如下,在点击Work Item 之后,便可通过Data Scraping来获取表中所有数据,并输出DataTable变量,并将数据写入到Excel文件中,方便后续流程的调试及使用。

image

注意:在使用Data Scraping获取数据之后,需要在Extract Structured Data的Activiti中设置最大获取行数。如果不设置,可能获取不到所有的表格数据。


image

4. 更新数据

更新数据部分,主要需要考虑的是多个浏览器之间的切换。
为了准确切换至相应的浏览器窗口,需要将Hash网站和Acme网站浏览器对象输出为变量,用户之后Attach Browser的使用。

同时,按照说明书中的要求,在更新work item过程中若出现错误,不应该影响之后的操作,所以建议使用try catch 的Activiti来捕捉错误。或者可以使用retry scope的Activiti来重试更新。

流程设计如下:

image

五、总结及代码获取

这篇文章说明如何脱离官方给出的开发手册并且不使用Orchestrator来解决开发中的问题,并给出流程开发及模块划分相关的思路,方便用户理解和自己动手开发流程。

代码获取
代码已打包上传至RPA小星球,点击下面链接获取。(已经加入的可以直接获取,未加入的可以扫描下面优惠券二维码加入)
https://t.zsxq.com/FIMB2rV

附 关于RPA知识星球

之前有很多文章和心得发布在"小专栏"中,但是最近由于各种原因,后续不准备再发一些文章上去,全部迁移至知识星球。知识星球中内容全部由我运营,会定期输出与RPA相关内容,包括但不限于:

  • RPA实施方法论
  • RPA实施技术架构
  • RPA应用场景分析理解
  • RPA实施中填坑之路......

为什么要收费:

  • 建立门槛,过滤掉观光客;
  • 逼自己尽可能多地思考和输出内容;
  • 通过输出内容,和一帮志趣相投的朋友们一起,激发出更多好玩的机会;
  • 利用知识星球连接铁杆粉丝,做出高品质社群
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容