Day27. Blue Prism进化中的宝可梦–BP增加稳定与弹性的调校

有一阵子流行的宝可梦Go的App寻宝游戏,
吸引不少粉丝信徒的膜拜,
玩家们都希望自己手上的宝可梦能够经由进化来加强战斗力,
可是要想进化就必须经历不断的挑战、战胜来提升经验值,
经验值越高就越来越天不怕地不怕的,
Blue Prism也是一样的原理,
若只是把流程串好或许只能跑上几遍就挂了,
但是在遇到状况後BP的主人若能适当的调校,
过程中也像提升BP的经验值一般让BP越挫越勇,
越来越能应变各种突发的事件,
因此,当拥有了Blue Prism後可别串完流程就想天下无敌,
一定要在执行的历程中调校找出最佳甚至提升「经验值」的技巧,
让Blue Prism能越来越强大且稳定。
https://ithelp.ithome.com.tw/upload/images/20210927/201411980iMSPrVf7d.png

(图片节录自App Store)

 前集提要

BP自动取号
(1)运用Application Modeller把应用程序的OrderConfirm与BP的关联设定好,於撷取订单资讯後将订单编号筛选出来。

 本集预告

BP增加稳定与弹性的调校
(1)将每个Object Page另开一个Object Page新页签运用Page把各个流程纳进来。
(2)执行过程会有一些不同的情境,因此需要多点侦测与设计让流程持续稳定,应变各种例外状况。

我们接着来看看「BP增加稳定与弹性的调校」如何作到吧!

1. 将Object Page的流程串起来
(1). 新增一个All的Object Page
在页签列上按下右键点击New
https://ithelp.ithome.com.tw/upload/images/20210927/20141198LtJKo6Mzfe.png


(2). 输入All,按下OK,新增一个Object Page
https://ithelp.ithome.com.tw/upload/images/20210927/201411985CVnhnksww.png

(3). 新增第1个流程01.Launch
A. 左方工具区图示Page
选定:Create a reference to an existing page
https://ithelp.ithome.com.tw/upload/images/20210927/20141198KMDo7OlQhZ.png


B. Existing Pages选定01.Launch,按下Finish
https://ithelp.ithome.com.tw/upload/images/20210927/20141198zmlYw2yrUG.png
(4). 新增第2个流程02.Login
A. 左方工具区图示Page
选定:Create a reference to an existing page
https://ithelp.ithome.com.tw/upload/images/20210927/20141198hwAQqFTlY9.png


B. Existing Pages选定02.Login,按下Finish
https://ithelp.ithome.com.tw/upload/images/20210927/20141198zOY71jHgAU.png
(5). 新增第3个流程03. Options
A. 左方工具区图示Page
选定:Create a reference to an existing page
https://ithelp.ithome.com.tw/upload/images/20210927/20141198WvVCtOQw0r.png


B. Existing Pages选定0https://ithelp.ithome.com.tw/upload/images/20210927/20141198u4pEY4YIl3.png3. Options,按下Finish
https://ithelp.ithome.com.tw/upload/images/20210927/2014119884eQ4A3ZCG.png
(6). 新增第4个流程04. New Order
A. 左方工具区图示Page
选定:Create a reference to an existing page
https://ithelp.ithome.com.tw/upload/images/20210927/20141198psh2C6ZTE5.png


B. Existing Pages选定04. New Order,按下Finish
https://ithelp.ithome.com.tw/upload/images/20210927/20141198uMO2254DbG.png
(7). 新增第5个流程05. GetOrderNo
A. 左方工具区图示Page
选定:Create a reference to an existing page
https://ithelp.ithome.com.tw/upload/images/20210927/20141198doLg3QuCD6.png


B. Existing Pages选定05. GetOrderNo,按下Finish
https://ithelp.ithome.com.tw/upload/images/20210927/201411985g1Vrhnqit.png
(8). 将All页内的流程项目串起来。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198OfaxSwsnsh.png


2. 增加All流程可以看到订单号码的设定
(1). 对05. GetOrderNo页的End属性设定输出OrderNO,按下OK
Name:OrderNo、 Data Type: Text、 Get Value From拖曳来自右方的Get OrderNo
https://ithelp.ithome.com.tw/upload/images/20210927/20141198AdW0VPepbN.png


(2). 对All页设定05. GetOrderNo 的Output属性,按下OK
Store In 按下左方的斜方块,流程画面将新增一个OrderNo的Data Item
https://ithelp.ithome.com.tw/upload/images/20210927/201411986raPWfv32Y.png

3. 执行流程:
(1). 若已执行过,建议先按下Reset按钮(循环图示),再按下执行图示。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198vuJK82nGMO.png

(2). 执行流程:
点击左上角的三角形执行图示,即开始执行流程。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198tHZyD3izn4.png

(3). 检视结果:
C. 执行完流程将开始撷取订单资讯,并截断资讯取出订单号码
https://ithelp.ithome.com.tw/upload/images/20210927/20141198XKpAQSY6sf.png

其实实际的执行状况很多我们来列举一下,顺便作调校:
4. 还没跑BP流程就已开启应用软件的错误
(1). 此时会出现以下错误画面
表示应用软件已启动的错误。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198WsctGr1is0.png

(2). 改善建议:
A. 新增Reader来读取是否已经开启应用软件
a. Element拖曳来自左方的NorderSys、Data: 选择Is Connected、Store In 按下左方的斜方块产生Value from NorderSys的Flags
https://ithelp.ithome.com.tw/upload/images/20210927/20141198VGIqm5Iezh.png

B. 新增一个Decision1来判断是否启动应用软件,或掠过。设定後按下OK
a. Expression内拖曳右方Flags分支下的Value from NorderSys。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198gL2KZNk5x1.png

(3). 重新Link各个元件。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198AgRxy7yTL5.png
执行後会发现,无论应用软件是否已开启,系统都能侦测并判断後做适当的回应。

5. 最後未关闭应用软件
(1). 此时页面会停在如下画面。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198tHWlVptSR0.png

(2). 改善建议
https://ithelp.ithome.com.tw/upload/images/20210927/20141198p3eaGGgNgH.png

A. 新增一个Reader:设定Is Connected 旗标。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198JaUEi06PrM.png

B. 新增一个Decision1:判断应用软件是否已关闭。
https://ithelp.ithome.com.tw/upload/images/20210927/20141198wP90FGSSOG.png

C. 新增一个Navigate4:作为若未关闭则启动关闭terminate
https://ithelp.ithome.com.tw/upload/images/20210927/201411985346JvIunj.png

看到上面的设定後,
重新执行多次仍然可以正常执行,
所以流程的设计不是只有将流程依序排好就好,
其实真的要稳定还是需要一些内力等级的设定才有办法执行的长长久久。

以下我们再来增长一下BP知识吧!

BP小教室:

元素参数(Element parameters)

具有动态属性的应用程序元素必须在运行时为这些属性提供值,以便可以在目标应用程序中识别这些元素。

使用表格
列出了动态属性的名称和数据类型,每行一个属性。必须以表达式的形式为每个人提供一个值。这通常就像提供数据项>的值一样简单。在这种情况下,可以简单地从数据项树中拖动适当的数据项。由於您提供的值是 Blue Prism 表达式,因此您必须将任何文字文本字符串括在引号中。

您可以显式测试该值是否相等,或者使用各种其他比较,例如“小於”和“大於”等(对於数字)、通配符比较 (对於文本)和“不等於”(对於任何数据类型) .

查找相同元素的出现
当您填写或修改这些详细信息时,您可能很想知道在其他地方使用了相同的元素,以便您可以以类似的方式更新这些事>件。

该元素的搜索功能是查找此类情况发生的最好方法。

提示
如果您在每个阶段属性表单中使用与动态参数值相同的信息,则明智的做法是将表达式放入计算阶段,并将结果存储在 >数据项中。然後应在表达式的位置提供数据项。这样,如果您需要修改您的表达式,您只需要修改一次(即在计算阶段),而不是在单独的基础上对每个属性进行修改。

您必须确保考虑何时需要刷新数据项(通过再次运行计算阶段),以便它包含最新信息。如果有多个与元素关联的动态>参数,您可能希望将这些表达式数据项分组到一个集合中以保持整洁并避免数据项之间的混淆。

(以上小知识撷取自Blue Prism online help)


<<:  Day13 Sideproject(作品集) from 0 to 1 -产品验证

>>:  每日挑战,从Javascript面试题目了解一些你可能忽略的概念 - Day12

【Day 1】前言

大家好,我是第一次参加铁人赛,主要是想透过这个活动纪录自己的学习笔记。 因为是以学习纪录为主,所以就...

模型架构--1

GoogLeNet Google提出的GoogLeNet,层数比较多,运算的效率相当好,超参数数量比...

DAY6:Kaggle-San Francisco Crime Classification(上)

大家好,今天来到第六天了~完成1/5了,必须说参加铁人赛还都完赛的人,真的很棒很有毅力,花自己工作之...

OpenStack Cinder 介绍

本系列文章同步发布於笔者网站 今天我们要来介绍最後一项 OpenStack 元件,Cinder。Ci...

[Day 20] Crypto 小孔雀

今天要解2题喔, 我们先解完,再来分享为啥标题要叫小孔雀 先从简单的来 Mind your Ps a...