阅读和查看 Automation Anywhere 文档

Automation Anywhere

关闭内容

内容

打开内容

机器人设计指南和标准

  • 已更新:5/10/2019
    • 11.3.x
    • 探索
    • Enterprise

机器人设计指南和标准

关于开发机器人的高级指南,可为机器人开发提供相应的指南和标准。

本主题简要介绍了常用的机器人设计指南和标准。在您的机器人设计标准中,请避免这些常见的错误并考虑这些流程和注意事项,创建整洁、易读、易于测试、易于维护且稳定的机器人。大部分指南可以提高正式部署资源的使用效率或者减少维护时间和错误。

机器人设计注意事项

  • 最佳实践

    通常情况下,应保持 Automation Anywhere 任务机器人不超过 500 行,最好只有几百行。

  • 拆分流程:巨型业务流程 > 巨型机器人

    成功开发业务流程机器人的关键在于定义完善、考虑周详的战略。如果业务流程太大,需要超过 8 或 10 个子任务,或者任何一个任务包含数千行,请重新考虑流程的机器人方法。

    评估您的业务流程。在创建相关的机器人方法时,请考虑这一点。

    • 业务流程本身是否可以简化?确定任何多余或循环的步骤。

    • 确定流程中的逻辑、包含的中断或者拆分。

    • 部分业务流程是否可以拆分为单独的机器人

  • 减少重复

    不重复自身原则 (DRY) 和三分律的基本要旨都是减少重复。

    创建包含单个调用的循环,而不是单独调用相同的几个步骤。

    适时使用变量。

    将重复的逻辑位或命令拆分为各个子任务。如果有一组命令在某个任务中多次重复,则会使维护工作变得十分困难。如果需要更新该任务,就必须找到所有实例并正确更新。

  • 维护的计划

    当在一组重复任务中编写的某个规则发生更改时,维护代码的人员必须在所有位置正确地进行更改。在这个过程中很容易出错,经常会引发一些问题。

    在一个位置包含一组命令和规则。如果这组命令或规则仅存在于一个位置,则可以在该位置轻松进行更改。

  • 以测试为驱动的设计

    可以通过单元测试的方式轻松对小型任务进行单独测试。没有依赖项的任务可以使用自动化测试。即使任务仅在序列的开头执行一次,按照单独的功能将任务拆分为子任务仍可提升测试的可维护性和简易性。

  • 网络故障处理

    在创建依赖网络连接的机器人时,请务必包含正确处理网络延迟的步骤。例如,当机器人需要网页响应时(例如打开“另存为”对话框),网络发生中断,您希望机器人采取什么操作?重试或退出并显示一条消息?

子任务概述

子任务由需要服务的父任务调用。它们也被称为帮助程序任务或实用工具任务,因为其唯一的用途就是协助调用任务。

提示:

子任务应该小而专一,仅承担一个或少数几个职责。

Excel 会话、CSV/文本文件会话和浏览器会话(Web 记录器)不能在独立的任务之间共享。因此,应该以某种方式来包含子任务,确保它们不会中断这些会话。

优点包括:

  • 正式部署任务代码更简短。

  • 在需要更改时,只需要找到、分析并编辑子任务。这简化了机器人维护工作。

  • 尽可能使子任务可以重用。

    采用正确方式构造的子任务可以重用,这使得它们具备更高的工作效率。子任务可以由任意数量的其他任务调用,包括其他机器人

  • 使子任务尽可能地独立。

    子任务并非完全独立。它们不应独立运行,而应由父任务调用。不过,要尽可能消除与其他任务的依赖关系。

子任务注意事项

  • 单一职责原则

    对每个子任务应用一个任务或职责。

    将大型任务拆分为多个子任务非常有用,但将所有类似的相关小任务提取到一个子任务中仍然容易导致发生维护错误。对一个小任务的更改可能会影响到大型子任务中包含的其他小任务。

    最好是生成多个子任务,每个子任务具有单一的特定用途。例如,如果您有一个大型子任务用于处理输出 PDF、移动文件和保存文件的工作,请将这些子任务拆分出来。为每个子任务提供自己的职责:一个负责输出到 PDF、另一个用于移动文件,第三个用于保存文件。

  • 解耦依赖关系

    在定义子任务时,尽可能使其不需要调用任务即可提供信息。所需的信息就是依赖项。确定依赖项并将其包括在子任务中。这可使其成为独立的子任务,启用单元测试,并允许其他任务调用这项子任务而无需添加依赖项。

    例如,如果只有在调用任务提供 URL 时才能调用登录子任务,则该子任务有依赖项。所有调用子任务的父任务必须提供 URL。如果 URL 发生更改,则必须更改多个任务。如果登录子任务包含 URL,则可将其从父任务解耦。如果 URL 发生更改,则只需要更新一个子任务。

  • 双向依赖关系

    如果不更改调用任务就无法更改子任务,则它们之间存在依赖关系,并未真正实现解耦。如果不更改所有子任务就无法更改调用任务,则它们并未真正实现解耦,并具有双向依赖关系。这些交织的依赖关系使得单元测试几乎无法进行。

  • 避免过多的子任务

    就设计机器人而言,虽然上述所有原则都十分适用,但过多的子任务也容易导致维护出现困难并造成混乱。子任务的数量必须在可管理的数量范围内。

    如果一个机器人具有 30 个子任务,或者在不使用子任务时有数千行代码,则可能表明业务流程太大,不适合由一个机器人来处理。将较大的流程拆分开来,然后将各个独立的片段封装到其自己的机器人中。

子任务示例

例如,假设机器人需要将记事本文档输出为 PDF 文件。此任务可能如下所示:

将记事本输出为 PDF 文件。

在本示例中,需要将文件输出为 PDF 文档三次。在示例开发计算机上,PDF 输出驱动程序名为 Pdf995

建议:

  • 由于正式部署环境中的 PDF 输出驱动程序可能会有不同的名称,因此请进行调查,确定是否可以使用变量。

  • 由于此任务可能会提升到正式部署环境中,并且可能重复多次,因此建议将此任务转换为子任务。

将示例视为子任务:

用于创建 PDF 文件的帮助程序任务。

如果需要对这组特定命令进行任何更改,则只需编辑此帮助程序任务,并且只需要重新测试此帮助程序任务。

发送反馈