解析UiPath官網(wǎng)Level 3 - Advanced Training中第二題Calculate Client Security Hash

[TOC]
這篇文章主要說明如何脫離官方給出的開發(fā)手冊并且不使用Orchestrator來如何完成UiPath學(xué)院高級認(rèn)證中的第二大題"計(jì)算客戶加密哈希值"(Calculate Client Security Hash)蛉签。

一、題目解析

該題目主要是從ACME網(wǎng)站中,獲取類型為WI5的數(shù)據(jù)的詳細(xì)信息,然后拼接字符串從指定的哈希網(wǎng)站獲取字符串哈希值羊壹,之后在詳情頁面中點(diǎn)擊update work item巷查,在彈出的窗口中更新哈希值及狀態(tài)值即可。

在這個題目中报慕,官方給出了兩個文檔:

  • Calculate Client Security Hash_PDD _v1.3.pdf

這個文檔PDD即流程設(shè)計(jì)說明書(Process Design Document)靶剑,其中描述了這個流程將要做的業(yè)務(wù)概要蜻拨、業(yè)務(wù)流轉(zhuǎn)的流程圖、業(yè)務(wù)中的關(guān)鍵步驟序列桩引、規(guī)定流程范圍缎讼、異常處理方式以及
在開發(fā)機(jī)器人之前的條件和要求。本設(shè)計(jì)文件作為基礎(chǔ)
為開發(fā)人員收集機(jī)器人自動化所需的詳細(xì)信息的文檔
業(yè)務(wù)流程坑匠。

  • Calculate Client Security Hash_Walkthrough_Short_v1.0.pdf

這個文檔可以理解為開發(fā)手冊血崭,詳細(xì)給出了在開發(fā)過程中所需要做的工作內(nèi)容,其中包括所用到的配置文件厘灼、配置文件參數(shù)說明夹纫、流程開發(fā)中的Activities等內(nèi)容。

二设凹、流程說明

業(yè)務(wù)流程圖如下:

image

流程步驟簡述:

  1. 打開瀏覽器舰讹,并進(jìn)入https://acme-test.uipath.com/account/login網(wǎng)站
  2. 使用用戶名密碼登錄網(wǎng)站
  3. 在主頁點(diǎn)擊Work Items按鈕,進(jìn)入到Work Items列表闪朱。
  4. 選擇類型為WI5的數(shù)據(jù)跺涤,并點(diǎn)擊Action中的放大鏡進(jìn)入到詳情頁面。
  5. 復(fù)制詳情頁面中的信息
  6. 進(jìn)入到http://www.sha1-online.com/網(wǎng)站监透,將上一步復(fù)制的信息按照"[ClientID]-
    [ClientName]-[ClientCountry]"格式進(jìn)行字符串拼接(中間為 "-" ),并填入到網(wǎng)頁中航唆。
  7. 點(diǎn)擊Hash按鈕獲取加密之后的哈希數(shù)值胀蛮。
  8. 返回值WorkItem的詳情頁面并點(diǎn)擊Update Work Item
  9. 將獲取到的哈希值填入到Comment文本框糯钙,并將New Status修改為Completed粪狼。
  10. 循環(huán)4-9步驟退腥,將所有Work Item處理完畢。

三再榄、開發(fā)手冊問題

在官方給出的開發(fā)手冊中狡刘,將一些變量或參數(shù)都存儲在了Orchestrator中的Assert中,但是很多朋友并不是很理解Orchestrator及其功能困鸥,新手如果按照官方的開發(fā)手冊來開發(fā)流程的話嗅蔬,開發(fā)難度比較大,也比較難理解疾就。

所以通過這篇文章主要說明如何脫離官方給出的開發(fā)手冊并且不使用Orchestrator來如何完成這道題目澜术。

四、開發(fā)

1. 主模塊劃分

如下圖為主流程部分猬腰,其中只包括了是三個Sequence鸟废,分別用于讀取用戶配置、處理主業(yè)務(wù)邏輯姑荷、流程結(jié)束清理盒延。

image
  • 1.Read Config: 在流程用到了用戶名密碼這樣敏感的數(shù)據(jù),應(yīng)該將這些數(shù)據(jù)單獨(dú)放置在服務(wù)器端或者加密之后的配置文件中鼠冕。這里我們可以將它放置在加密之后的Excel文件中添寺,通過讀取excel來獲取用戶名密碼,也符合題目要求的安全性供鸠。
  • 2.Main-Process: 主要用于主業(yè)務(wù)邏輯的使用畦贸,通過調(diào)用其他的XAML腳本文件,達(dá)到方便開發(fā)楞捂、調(diào)試的目的薄坏。
  • 3.End Process: 主要完成一些在主業(yè)務(wù)流程結(jié)束之后的收尾工作,如退出系統(tǒng)寨闹、關(guān)閉瀏覽器等動作胶坠。

2. 業(yè)務(wù)模塊劃分

業(yè)務(wù)主模塊流程如下,其中主要包括系統(tǒng)登錄繁堡、表格數(shù)據(jù)獲取并輸出沈善、更新WorkItem。


image
  • LoginSys :使用此模塊實(shí)現(xiàn)系統(tǒng)登錄的自動化椭蹄。
  • GetProcessData :獲取表格中的所有數(shù)據(jù)并輸出到文件中

為什么要輸出到Excel文件中闻牡?

解:方便后續(xù)流程的調(diào)試和模塊解耦。將數(shù)據(jù)持久化到某個文件中绳矩,可以方便后續(xù)流程直接使用數(shù)據(jù)罩润,而不需要到網(wǎng)頁中再抓取數(shù)據(jù),浪費(fèi)時間翼馆。

  • UpdateWI5 workflow:從上一個模塊中產(chǎn)生的數(shù)據(jù)文件中獲取WorkItem割以,并更新數(shù)據(jù)金度。

3. 獲取數(shù)據(jù)

獲取數(shù)據(jù)部分,主要考察Data Scraping的使用严沥。
如下猜极,在點(diǎn)擊Work Item 之后,便可通過Data Scraping來獲取表中所有數(shù)據(jù)消玄,并輸出DataTable變量跟伏,并將數(shù)據(jù)寫入到Excel文件中,方便后續(xù)流程的調(diào)試及使用莱找。

image

注意:在使用Data Scraping獲取數(shù)據(jù)之后酬姆,需要在Extract Structured Data的Activiti中設(shè)置最大獲取行數(shù)。如果不設(shè)置奥溺,可能獲取不到所有的表格數(shù)據(jù)辞色。


image

4. 更新數(shù)據(jù)

更新數(shù)據(jù)部分,主要需要考慮的是多個瀏覽器之間的切換浮定。
為了準(zhǔn)確切換至相應(yīng)的瀏覽器窗口相满,需要將Hash網(wǎng)站和Acme網(wǎng)站瀏覽器對象輸出為變量,用戶之后Attach Browser的使用桦卒。

同時立美,按照說明書中的要求,在更新work item過程中若出現(xiàn)錯誤方灾,不應(yīng)該影響之后的操作建蹄,所以建議使用try catch 的Activiti來捕捉錯誤≡3ィ或者可以使用retry scope的Activiti來重試更新洞慎。

流程設(shè)計(jì)如下:

image

五、總結(jié)及代碼獲取

這篇文章說明如何脫離官方給出的開發(fā)手冊并且不使用Orchestrator來解決開發(fā)中的問題嘿棘,并給出流程開發(fā)及模塊劃分相關(guān)的思路劲腿,方便用戶理解和自己動手開發(fā)流程。

代碼獲取
代碼已打包上傳至RPA小星球鸟妙,點(diǎn)擊下面鏈接獲取焦人。(已經(jīng)加入的可以直接獲取,未加入的可以掃描下面優(yōu)惠券二維碼加入)
https://t.zsxq.com/FIMB2rV

附 關(guān)于RPA知識星球

之前有很多文章和心得發(fā)布在"小專欄"中重父,但是最近由于各種原因花椭,后續(xù)不準(zhǔn)備再發(fā)一些文章上去,全部遷移至知識星球房午。知識星球中內(nèi)容全部由我運(yùn)營个从,會定期輸出與RPA相關(guān)內(nèi)容,包括但不限于:

  • RPA實(shí)施方法論
  • RPA實(shí)施技術(shù)架構(gòu)
  • RPA應(yīng)用場景分析理解
  • RPA實(shí)施中填坑之路......

為什么要收費(fèi):

  • 建立門檻,過濾掉觀光客嗦锐;
  • 逼自己盡可能多地思考和輸出內(nèi)容;
  • 通過輸出內(nèi)容沪曙,和一幫志趣相投的朋友們一起奕污,激發(fā)出更多好玩的機(jī)會;
  • 利用知識星球連接鐵桿粉絲液走,做出高品質(zhì)社群
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載碳默,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末缘眶,一起剝皮案震驚了整個濱河市嘱根,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌巷懈,老刑警劉巖该抒,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異顶燕,居然都是意外死亡凑保,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門涌攻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欧引,“玉大人,你說我怎么就攤上這事恳谎≈ゴ耍” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵因痛,是天一觀的道長婚苹。 經(jīng)常有香客問我,道長婚肆,這世上最難降的妖魔是什么租副? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮较性,結(jié)果婚禮上用僧,老公的妹妹穿的比我還像新娘。我一直安慰自己赞咙,他們只是感情好责循,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著攀操,像睡著了一般院仿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天歹垫,我揣著相機(jī)與錄音剥汤,去河邊找鬼。 笑死排惨,一個胖子當(dāng)著我的面吹牛吭敢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暮芭,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼鹿驼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辕宏?” 一聲冷哼從身側(cè)響起畜晰,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瑞筐,沒想到半個月后凄鼻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡面哼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年野宜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片魔策。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡匈子,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出闯袒,到底是詐尸還是另有隱情虎敦,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布政敢,位于F島的核電站其徙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏喷户。R本人自食惡果不足惜唾那,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望褪尝。 院中可真熱鬧闹获,春花似錦、人聲如沸河哑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽璃谨。三九已至沙庐,卻和暖如春鲤妥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拱雏。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工棉安, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人古涧。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓垂券,卻偏偏與公主長得像,于是被迫代替她去往敵國和親羡滑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容