| 理解流程

在机器人和无人值守机器人的自动化之间做出决策是影响开发人员构建代码的第一个重要决策。因为它们的通用运行框架(机器人触发、交互、异常处理)是不同的。以后切换到另一种类型的机器人可能会很麻烦。

对于时间紧迫的、实时的、由人触发的过程,比如在呼叫中心,一个与人类并肩工作的有意识的机器人可能是唯一可能的答案。

并不是需要人工输入的所有流程都应该由有人值守机器人运行。如果在流程中不可避免地使用纯粹的判断决策(非规则),请评估一下是否可能通过改变流程来实现。例如拆分大的流程到两个小的子流程,第一个子流程的输出变成第二个流程的输入。

虽然人工干预发生在两个子进程之间,例如验证/修改第一个子进程的输出,但这两个子进程都可以自动触发并在无人值守的情况下运行。

典型的情况是,在处理过程中某个地方需要手动步骤,例如检查票证的非结构化注释部分,并在此基础上将票证分配给某些类别。

一般来说,使用无人值守的机器人可以确保更有效地使用机器人负载,更高的 ROI,更好的管理和跟踪机器人的能力。

但是这些计算应该考虑各个方面,例如参加的机器人通常只能在人的正常工作时间内运行,或者它可以使机器和用户一直忙到执行结束。输入类型、事务量、时间限制、可用机器人的数量以及其他因素也在这一决定中起作用。

| 文档化流程 - 开发规格文件

过程文档指导开发人员的工作,并在跟踪请求和应用程序维护方面提供帮助。当然,可能还有许多其他技术文档,但其中一个对顺利实现至关重要,即 DSD (开发规范文档)。

开发规范文档应该包含自动化的过程细节,并侧重于两大类:运行时指南和开发细节。

运行时指南应该包含一个高级运行时图,以及关于机器人功能的详细信息,例如子进程、计划、配置设置、输入文件、输出文件、临时文件和执行的操作。

应指定有关主进程的其他详细信息,例如先决条件、自动和手动错误处理、故障情况下的进程恢复、调度器的使用、日志记录和报告、凭据管理以及与安全或功能相关的任何其他相关信息。

开发细节应包含有关正在使用的包、开发环境、日志记录级别、源代码存储库和版本控制、工作流组件及其描述和参数列表、可重用组件列表、工作流调用树、定义的自定义日志和日志字段、流程图的相关快照、背景与前景自动化级别以及任何其他相关或未完成的开发项目的信息。

| 开发和代码审核

RPA 解决方案架构师负责持续指导开发人员了解最佳实践。因此,频繁和彻底的代码评审是必须的,以执行非常高质量的开发工作流程。这样,开发人员就有动力构建健壮的工作流,并遵循最佳实践指南。

| 测试

在构建每个组件之后,应该进行单元测试。如果每个组件都经过了彻底的测试,集成就会更顺利地运行,调试将持续更短的时间。

REFramework 包含一个 Test_Framework 文件夹,其中应该放置所有的测试文件。使用 RunAllTests.xaml 文件,开发人员可以自动测试包含大量 .xaml 文件的序列,从而能够尝试组件之间的小集成并运行压力测试。每个测试结束时会生成一个报告。

通常,这些类型的测试应该在办公时间之外,在测试环境中执行,以优化开发人员的时间。

推荐的 UiPath 体系结构包括开发和测试环境,这些环境允许在活动生产系统之外测试流程。

有时,应用程序在开发、测试或生产环境之间的外观或行为会有所不同,必须采取额外的措施,对选择器进行审查,甚至对某些活动进行有条件的执行。

使用 UiPath.config 文件或 Orchestrator 资源切换当前环境的标志或设置。在与活动应用程序交互之前,可以检查测试模式参数(布尔值)。这可以作为资源(或参数)输入来接收。当它被设置为 True 时,在调试和集成测试期间,它遵循测试路线,不完全执行 CASE。

例如,测试补丁可以跳过发送通知,跳过“确定”或“保存”按钮,或者按下“取消”或“关闭”按钮。当设置为 false 时,将遵循正常的生产模式路由。这允许您在直接在Live系统中工作的进程中进行修改和测试。

| 发布

有多种设计架构和发布流程的方法,考虑基础设施的设置,关注角色的分离等。

在这个模型中,uipath开发人员可以构建他们的项目,并在 Orchestrator 中的开发环境中测试它们。

在这个建议议的模型中,UiPath 开发人员可以构建他们的项目并在 Orchestrator 的开发环境中进行测试。允许他们在项目中签入由版本控制系统管理的驱动器(如GIT, SVN, 或者 TFS)

发布包并将其用于测试和生产环境是不同团队的工作,比如 IT。

通过更改 UiPath.Server.Deployment 节点中 Web.config 文件中的 nuget.Packages.path 值,Orchestrator 上的部署路径已经从默认更改为由 VCS 管理的文件夹。该模型还包含一个可重用组件的存储库。

下面是项目发布流程,一步地:

  • 开发人员在 Studio 中构建流程,并使用 Orchestrator 中的开发环境对其进行测试。一旦完成,他们就会将工作流(而不是打包的)签入 Master UiProcess Library 文件夹(在 VCS 上);

  • IT 团队为 QA 创建包。它存储在 VCS 的 QA 包文件夹中,QA 从该文件夹在专用机器上运行进程;

  • 如果在测试过程中发现任何问题,则重复上述步骤;

  • 一旦所有 QA 测试都通过,包将被复制到生产环境(P 包);

  • 这个过程正在进行中,并由生产机器人运行;

  • 可重用内容是单独创建和部署的,作为 UiPath 代码(可重用代码库)和调用(调用存储库);

  • 带有源代码的工作流是 .xaml 文件,其中包含用于自动化公共进程的活动,例如 SAP 中的 login:

SAP 中的 Login

调用表示仅由上面提到的代码工作流的一个调用活动组成的工作流。

调用工作流文件

Studio 开发人员的库应该指向此调用存储库,以便提供简单的访问(拖动)。

负责维护可重用内容更新的本地设计授权(例如,由于流程的更改)使用代码的工作流。调用保持不变。

这种方法的优点(相对于直接使用源代码库)是,当对可重用组件进行更改时,所有正在运行的项目也会反映这一更改,因为它们只包含更改后的工作流的调用。

| 监控

使用 Log Message 活动追踪运行过程的演变对对监督、诊断和调试至关重要,消息应提供所有相关信息以准确识别情况,包括事务ID和状态。

应使用日志记录:

  • 每个工作流的开始和结束;

  • 当数据来自外部来源时;

  • 每次在最高级别捕获异常;

  • 消息以指定的优先级(例如信息、跟踪、警告)发送给 Orchestrator ,并保存在本地 .nlog 文件中。

  • 自定义日志字段:

    为了便于在 Kibana 中为报告提供数据,机器人可以使用 Add Log Fields 活动标记带有额外值的日志消息。

Add Log Fields :默认情况下,UiPath 的日志输出已经有几个字段,包括 消息,时间戳,等级,进程名称,文件名称和机器人窗口标识。

日志字段不是持久的,因此如果我们不需要使用标记所有消息,则应该在日志记录后立即使用 Remove Log Field 活动删除字段。

不要使用已经存在的字段名。在第一次添加字段时指定适当类型的参数是很重要的。这是ElasticSearch的索引方式。

注:本文翻译自 UiPath Studio 官方文档。

[官方原文链接]

https://studio.uipath.com/docs/automation-lifecycle


更多 UiPath 相关的资讯,请关注本公众号:UiPath 教程

版权所有,如需转载,请先联系。

转发不属于转载行为,欢迎你转发到朋友圈、微信群,分享给微信朋友。

子组件自动执行方法_【自动化程序的最佳实践】 04 自动化程序的生命周期相关推荐

  1. 原生微信小程序父组件调用子组件中的方法

    假设子组件中写有方法getData() // 返回数据 getData() {let flag = this.onStartValidate();if (!flag) return falselet ...

  2. vue怎么调用子元素的方法_vue 父组件中调用子组件函数的方法

    vue 父组件中调用子组件函数的方法 在父组件中调用子组件的方法: 1.给子组件定义一个ref属性.eg:ref="childItem" 2.在子组件的methods中声明一个函数 ...

  3. vue父与子组件,子与子组件间的方法调用和通信

    子与子之间通信的前提是有一个共同的父亲, 首先,在vue中,$+name是vue系统定义的实例属性或方法,vue的api上面写的有链接实例属性. $parent指的是当前组件的父实例.$refs指的是 ...

  4. Spring启动自动执行方法

    Spring启动自动执行方法 1.实现ServletContextAware接口并重写其setServletContext方法 @Component public class TestStarted ...

  5. React 父组件和子组件中的方法相互调用

    目录 父组件调用子组件方法 子组件调用父组件方法 父组件调用子组件方法 父组件中调用子组件的getTree方法 父组件 setFormValue=()=>{this.TreeList.getTr ...

  6. Vue父组件访问子组件属性和方法、父子组件双向绑定(两种方法)

    Vue父组件访问子组件属性和方法.父子组件双向绑定(两种方法) 1. 使用vue-cli创建项目 目录结构如下图: 2. 编写代码 src/components/HelloWorld.vue < ...

  7. python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...

  8. vue 父组件调子组件方法_vue父组件调用子组件有哪些方法

    这次给大家带来vue父组件调用子组件有哪些方法,vue父组件调用子组件的注意事项有哪些,下面就是实战案例,一起来看一下. 情景: 父组件中引入上传附件的子组件:点击组件可以分别上传对应要求的图片,子组 ...

  9. angular 最佳实践_干净高效的Angular应用程序的最佳实践

    angular 最佳实践 by Vamsi Vempati 由Vamsi Vempati 干净高效的Angular应用程序的最佳实践 (Best practices for a clean and p ...

最新文章

  1. url获取网站信息不包含网页源文件内的标签_前嗅ForeSpider链接抽取应用场景及链接在源码的html标签里写脚本...
  2. Windows 2000、XP、XP+进程名描述
  3. 谷歌发表“移动AR设计的最佳做法”
  4. 如何写读服务器时间的php,PHP-php中如何使用真实时间而不是服务器时间?
  5. Spinnaker:云原生多云环境持续部署的未来这样玩!
  6. Docker-Compose 使用简介
  7. 今天项目中遇到一个关于DataGrid的 ItemDataBound自动判断下拉列表默认值绑定问题...
  8. API/POSIX/C库的区别与联系
  9. 日期格式转换,正则匹配后转换;指定时间增加天数加转格式;js时间转换格式
  10. [NOIP2017 TG D2T2]宝藏(模拟退火)
  11. 常见导航菜单实现方式
  12. Linux一些最基本命令
  13. 问题-关于 in []使用过程中报错 Constant expression violates subrange bounds
  14. mysql分页下表_有关Mysql分表分页问题
  15. 用原生javascript制作日历
  16. 利用DEEPLABV3-RESNET101获取人体蒙版
  17. 一窥Memory测试算法及自我修复机制
  18. 2021011029wxy-实验四
  19. 后台管理系统模板简介
  20. mpv播放器 —— 一个免费的、开源的、跨平台的媒体播放器

热门文章

  1. 浅析人脸检测之Haar分类器方法
  2. java 写文件的三种方法比较
  3. Makefile for OpenCV
  4. 青龙羊毛——去趟转(搬运,非原创)
  5. django修改服务器名称,django部署和服务器配置教程
  6. 一般判五年几年能出来_判刑五年能减刑多少年
  7. linux下查看服务器性能,linux命令查看服务器性能
  8. lsof查看占用高_linux lsof命令查看文件占用进程
  9. python小白逆袭大神课程心得_Python小白逆袭大神学习心得
  10. 1载波把32个信道按_「防疫」截至8月27日,单日确诊新增32例,张文宏带来1个坏消息...