理解流程
机器人和无人值守机器人的自动化之间做出决策是影响开发人员构建代码的第一个重要决策。因为它们的通用运行框架(机器人触发、交互、异常处理)是不同的。以后切换到另一种类型的机器人可能会很麻烦。
对于时间紧迫的、实时的、由人触发的过程,比如在呼叫中心,一个与人类并肩工作的有意识的机器人可能是唯一可能的答案。
并不是需要人工输入的所有流程都应该由有人值守机器人运行。如果在流程中不可避免地使用纯粹的判断决策(非规则),请评估一下是否可能通过改变流程来实现。例如拆分大的流程到两个小的子流程,第一个子流程的输出变成第二个流程的输入。
虽然人工干预发生在两个子进程之间,例如验证/修改第一个子进程的输出,但这两个子进程都可以自动触发并在无人值守的情况下运行。
典型的情况是,在处理过程中某个地方需要手动步骤,例如检查票证的非结构化注释部分,并在此基础上将票证分配给某些类别。
一般来说,使用无人值守的机器人可以确保更有效地使用机器人负载,更高的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:
调用表示仅由上面提到的代码工作流的一个调用活动组成的工作流。
Studio 开发人员的库应该指向此调用存储库,以便提供简单的访问(拖动)。
负责维护可重用内容更新的本地设计授权(例如,由于流程的更改)使用代码的工作流。调用保持不变。
这种方法的优点(相对于直接使用源代码库)是,当对可重用组件进行更改时,所有正在运行的项目也会反映这一更改,因为它们只包含更改后的工作流的调用。
监控
使用 Log Message 活动追踪运行过程的演变对对监督、诊断和调试至关重要,消息应提供所有相关信息以准确识别情况,包括事务ID和状态。
应使用日志记录:
- 每个工作流的开始和结束;
- 当数据来自外部来源时;
- 每次在最高级别捕获异常;
消息以指定的优先级(例如信息、跟踪、警告)发送给 Orchestrator ,并保存在本地 .nlog 文件中。
自定义日志字段
为了便于在 Kibana 中为报告提供数据,机器人可以使用 Add Log Fields 活动标记带有额外值的日志消息。
默认情况下,UiPath 的日志输出已经有几个字段,包括 消息,时间戳,等级,进程名称,文件名称和机器人窗口标识。日志字段是持久的,因此如果我们不需要使用标记所有消息,则应该在日志记录后立即使用 Remove Log Field 活动删除字段。
不要使用已经存在的字段名。在第一次添加字段时指定适当类型的参数是很重要的。这是ElasticSearch的索引方式。
返回目录
UiPath 常见问题及解决办法汇总
更多 UiPath 相关的资讯,请关注公众号:流程自动化机器人教程
由于简书禁止直接在文章中插入公众号二维码,请点击 这里 了解添加该公众号的细节。