前言:【【非原创】】UiPath Advanced RPA Developer Certification Training的课程资料机翻版。
课程链接:Link
自动化用户界面 (UI) 是将 RPA 与其他自动化技术区分开来的最重要功能之一。本课程向 RPA 开发人员介绍了关键的 UI 自动化概念以及一些具有现代和经典设计经验的实践练习。
本课程由3个模块组成:
该模块旨在向 RPA 开发人员展示与 UI 自动化相关的所有基本概念。
您将在本模块中学到什么
在本单元结束时,您应该能够:
它是什么?
用户界面或图形用户界面自动化(UI 自动化)是指通过模拟鼠标和键盘控件与应用程序内的图形元素进行交互的过程。
正如人类用户通过单击、键入或选择文本等活动使用应用程序一样,RPA 开发人员可以在 UiPath Studio 中配置 UiPath 机器人,以更快、更准确地执行相同的任务。
通过 UiPath 与从 Win32 到 WPF、HTML 和 Java 的所有主要 GUI 框架之间的深度集成,RPA 开发人员可以轻松地自动化所有类型的桌面应用程序。
UiPath 通过其自身特定于平台的属性识别图形对象,并提供统一的 GUI 自动化 API,该 API 在任何地方都以相同的方式工作。
您应该如何看待 UI 自动化?
考虑到机器人将像人类一样在应用程序用户界面 (UI) 中执行操作,RPA 开发人员需要在逻辑、顺序路径中配置每个操作。
让我们来看看这个例子。
任务:“UI 演示”应用程序中的数据输入
让我们考虑一下,我们的目标是自动化一个简单的任务,即在 UI Demo 应用程序中输入数据、单击接受按钮并获取交易编号。
为此,我们需要考虑我们想要开始的应用程序的状态,人类用户将如何执行这些步骤,然后将任务分解为每个步骤。作为第一步,让我们看看人类的道路。
人类操作步骤:
开始状态:用户界面演示在存款屏幕上打开。
人类用户采取的步骤:
开始状态:用户界面演示在存款屏幕上打开。
机器人执行的步骤:
在上一课中,我们看到了一个非常简单的 UI 自动化示例。您可能会遇到很多问题,例如:“我可以使用什么样的活动?”、“机器人如何知道要定位哪些元素?”或“我有什么选择来控制活动的执行?”。在本课中,我们将使用 UiPath Studio 探索与 UI 自动化相关的关键概念。
UI 自动化建立在七个关键概念之上。这些是:
UI自动化活动
活动属性
定位方法
输入输出方式
录制器和向导
对象存储库
人工智能计算机视觉
Activities (What to do)
Activities告诉机器人该做什么。您可以在“Activities”面板中找到它们,它们有四种类型:
属性Properties (如何操作)
属性控制机器人执行活动的方式。在这里,您可以控制是否希望机器人在执行活动之前或之后等待,在哪个元素上执行活动,如果找不到元素则等待多长时间等等。
AI 计算机视觉
AI 计算机视觉是一种 AI 技能,可以让所有 UiPath 机器人看到计算机屏幕上的每个元素。这是我们将在以后的课程中介绍的更高级的功能。
属性(如何操作)
属性控制机器人执行活动的方式。在这里,您可以控制是否希望机器人在执行活动之前或之后等待,在哪个元素上执行活动,如果找不到元素则等待多长时间等等。
定位方法Targeting Methods
定位方法告诉机器人在哪个 UI 元素上执行操作。这是我们将花费大量时间研究的
一个关键功能。到目前为止,最常用的定位方法是选择器。
输入和输出方法
输入和输出方法告诉机器人使用什么技术向接口发送输入或从接口获取输出。它们可以在您的 UI 自动化的可靠性、工作速度以及最重要的是,它是否只能在前台窗口或后台窗口上运行方面产生巨大的差异。
录制器
记录器将通过逐步跟踪您与 GUI 的手动交互并将其转换为一系列 Studio 活动,帮助您更快地开发 UI 自动化。
对象存储库The Object Repository
对象存储库是一个更高级的功能,但尽早了解它很有用。它允许开发人员将 UI 元素标识符存储在存储库中,对其进行微调并与同事共享,以加快 UI 自动化开发和项目更新。
现在让我们看一下下图,以了解所有内容是如何组合在一起的。随着我们在本课程中的进步,我们将更多地了解每一个。
让我们从活动开始吧!
UI 自动化活动让开发人员可以快速为机器人编写指令以与各种应用程序的界面进行交互。
活动可分为:
就像其他类型的活动一样,属性决定了机器人如何执行操作。它们可以在“属性”面板中找到。 UI 自动化活动具有特定的属性集,具体取决于活动的类型。以下是一些常见属性的示例:
Property | What it does |
---|---|
DelayAfter/DelayBefore | 机器人在执行活动之前或之后等待的毫秒数。 |
ContinueOnError | 执行活动时遇到的异常会被抛出还是被忽略。例如,如果没有找到元素,机器人会抛出错误并停止执行,还是会忽略并继续?) |
Target | 提供多个与标识目标 UI 元素相关的属性。 |
Timeout (milliseconds) | 机器人将尝试在 UI 元素上执行操作的毫秒数。超过此时间后报错。 |
SendWindowsMessages/Simulate Type | 我们使用什么输入方式进行输入活动。(Windows消息/模拟输入) |
Output | 它以变量的形式存储活动的输出。 |
定位方法是属性的子集。它们提供了多种方法来识别机器人将与之交互的 UI 元素。主要的定位方法是:
正如我们已经讨论过的,每次我们将数据插入到应用程序中,或者我们向系统发送命令以产生更改(或继续)时,我们都会执行输入操作。 UiPath 中使用输出操作从 UI 元素中提取数据(通常为文本)。输出方法使输出操作能够从 UI 元素中提取数据。
UiPath 提供了多种方法来执行输入和输出操作。这些方法控制我们自动化的几个重要方面:
录制是 UiPath Studio 的重要组成部分,它可以帮助您在自动化业务流程时节省大量时间。此功能使您能够轻松捕获用户在屏幕上的操作并将其转换为序列。这些项目可以修改和参数化,以便您可以根据需要轻松地在许多其他流程中重放和重用它们。
对象存储库通过将 UI 元素捕获为存储库中的对象、可跨项目共享来确保 UI 元素的管理、可重用性和可靠性。它允许在自动化项目内部和跨自动化项目==创建和重用 UI ==分类法。这是一个更高级的功能,我们稍后会详细了解。
AI 计算机视觉活动包包含重构的基本 UI 自动化活动,例如单击、键入或获取文本。 CV 活动与其对应活动之间的主要区别在于它们使用了我们机器学习团队内部开发的计算机视觉神经网络。神经网络能够在不使用选择器的情况下识别 UI 元素,例如按钮、文本输入字段或复选框。这是一项高级功能,我们将在稍后详细了解。
让我们回顾一下主要内容——
UiPath 中 UI 自动化的关键概念是:
UI 自动化活动、活动属性、目标方法、输入和输出方法、记录器、对象存储库和计算机视觉。 UI 自动化活动 - 活动可以是容器、输入活动、输出活动或同步活动。
活动属性 - 属性决定了机器人如何执行操作。它们可以在“属性”面板中找到。
定位方法 - 它们提供了多种方法来识别机器人将与之交互的 UI 元素。到目前为止,最常见的是选择器。
输入和输出方法 - 定义用于与 UI 元素交互的技术类型。输入法使用的技术与输出法使用的技术不同。
录制器 - 此功能使您可以轻松捕获用户在屏幕上的操作并将其转换为序列。
对象存储库 - 对象存储库通过将 UI 元素捕获为存储库中的对象、可跨项目共享来确保 UI 元素的管理、可重用性和可靠性。
AI 计算机视觉 - 无需使用选择器即可识别 UI 元素,例如按钮、文本输入字段或复选框。
什么是设计体验?
到目前为止,我们已经大致了解了 UI 自动化。在使用这些功能之前,您需要了解最后一件事——UiPath Studio 提供了两种开发 UI 自动化的方法:经典设计体验和现代设计体验。这些设计经验可帮助开发人员在构建 UI 自动化时适应不同的环境。
默认设计体验是从项目设置在项目级别设置的,或者从Backstage View > Settings > Design为所有新项目设置。刚开始时,默认体验是经典。
对于所有新项目,我们可以从Backstage View > Settings > Design中进行设置。刚开始时,默认体验是经典。
有什么区别?
经典设计体验和现代设计体验之间的主要区别基于以下关键概念
默认情况下,每个体验中都有一组单独的 UI 活动可用。无论选择的自动化项目体验是现代的还是经典的,都可以启用另一组活动。如果默认体验是经典体验,要查看现代活动,只需从“活动”面板中选择“显示现代”,反之亦然。在下图中,我们启用了现代 UI 活动。
示例:现代体验中可用的使用应用程序/浏览器卡。
一个很好的例子是使用应用程序/浏览器现代活动,它取代了以下经典活动:
由于定位方法和活动行为不同,经典和现代活动的属性略有不同。我们将在以下课程中了解更多相关信息。
来自 Modern Experience Capture Elements 向导的图像,显示了堆叠的定位方法。使用经典活动时,选择器是 UI 元素最常用的定位方法(99% 的时间)。在不可靠的情况下,您可以手动更改更新活动以使用模糊选择器或锚点。现代活动将在选择器、模糊选择器、锚点和图像的堆叠选项中循环,以按照我们刚刚介绍的顺序确定最可靠的选项。如果前一种方法不可靠,它会自动选择下一种。这种定位技术称为统一目标。
Modern 和 classic 提供两组不同的记录器:
现代体验 - 提供应用程序/Web 和计算机视觉记录器。
经典体验 - 提供 Basic、Desktop、Web、Image、Native Citrix 和 Computer Vision 记录器。
当谈到抓取向导时:现代体验 - 表提取向导可用于数据抓取。经典体验 - 提供数据抓取和屏幕抓取向导。
面板的对象存储库片段,仅在现代体验中可用。对象存储库通过将 UI 元素捕获为存储库中可跨项目共享的对象来确保 UI 元素的管理、可重用性和可靠性。对象存储库仅在现代设计体验中可用。不要担心记住所有这些。了解差异的关键领域是很有用的,如果需要,您可以稍后参考本课程。
让我们回顾一下主要内容
UiPath Studio 中有两种 UI 自动化设计体验:modern 和classic。默认体验是classic的。
这可以在项目级别或所有新项目中更改。这两种体验在以下方面有所不同:
活动:两种体验都提供不同的活动,但您可以过滤“活动”窗格以查看非默认体验中的活动。
活动属性:modern 和classic活动的属性略有不同。
定位方法:classic主要使用选择器,而modern 使用统一目标(一组选择器、模糊选择器、锚点和图像)。
录制器:modern 提供带有两个录制器的简化录制器解决方案,而classic提供六个录制器。
抓取向导:modern 提供表提取向导,而classic提供数据抓取和屏幕抓取向导。
对象存储库:对象存储库仅适用于modern 设计体验。
默认情况下不启用现代设计体验。
下面的视频将帮助我们学习以下内容:如何在现代活动和经典活动之间进行转换。如何将您的新自动化项目设置为默认设计体验。如何在项目层面改变设计体验。
您好,欢迎来到 UI 自动化设计体验的介绍。在本视频中,我们将概述 UiPath Studio 提供的用于开发自动化用户界面的项目的两种方法:现代和经典。更具体地说,我们将使用 Modern App-Web Recorder,在 Studio 中的两种设计体验之间进行切换,然后花一些时间研究两者之间的差异和相似之处以及它们使用的定位方法。
我们将从现代设计经验开始。
它在 Studio 和 Studio Pro 配置文件中都可用,并且它是 StudioX 中唯一可用的配置文件。它提供了一种简化的浏览器和应用程序工作方式。
我们先来看看录音机。我们可以通过单击设计功能区上的图标来访问它。记录器根据我们在屏幕上采取的步骤生成 UI 自动化活动序列。要开始,我们需要单击“开始录制”,并指出我们要录制的应用程序,在我们的例子中是“DoubleUI”。一旦我们选择了应用程序,我们就可以指明我们想要捕获的 UI 元素。让我们指出“Cash In”字段。如您所见,在我们指定字段后,记录器已将其识别为输入字段。我要求我们在那里输入值,或者数据源,就像一个变量。在这个例子中,让我们来看看后者。我们只需右键单击该字段并选择“创建变量”。我们将其称为“Cash In”,……然后单击“Confirm”。好的!我们已经记录了一组附加到双 UI 应用程序的步骤,并将“Cash In”变量中的值输入到应用程序的“Cash In”字段中。对我们这里的目的来说已经足够了。让我们从录音机中选择“保存并退出”,然后返回到 Studio,在那里我们可以看到生成的序列的样子。 Wehavean 应用程序卡和 Type Into 活动。应用程序卡指示目标应用程序…因此“Do 容器”中的所有 UI 交互活动将仅针对目标应用程序中存在的元素。各种活动可用于提供 UI 交互指令,如单击、键入、获取文本等。所有活动都可以在“UI 自动化”、“应用程序”下的活动面板中找到。到目前为止,在这个例子中,我们已经看到了现代设计体验的实际效果。在使用经典体验做同样的事情之前,让我们看看如何在两者之间切换。这可以在项目级别或工作室级别完成,作为启动新项目时的默认选项。我们现在就去项目级别。访问项目面板,然后单击项目设置。显示项目设置窗口。在General部分,我们可以看到Modern Design Experience切换。让我们将其设置为“否”…并重新加载项目。这意味着我们目前正在运行经典设计体验。我们可以立即注意到一些差异:我们有可用的经典记录器,对象存储库被禁用…活动面板中显示的活动是经典类型。但是,即使我们切换到经典设计体验,现代活动仍然有效,因为它们包含在“UiPath UI 自动化包”版本 20.10 及更高版本中。但是,基于设计体验切换,活动面板中只会显示特定的活动。如果我们想在经典设计体验中添加一个现代的“输入”活动,我们可以点击活动面板中的过滤按钮…并启用“显示现代”。他们在这里,在“活动”面板的“现代”节点下!运行Modern的时候也可以这样,赶紧切换到Modern Design Experience,尝试加入经典活动。如您所见,显示的默认 UI 活动是现代类型的。但是如果启用“Show Classic”,…我们将能够看到现代和经典的活动。无论我们设置了何种过滤器选项,在现代设计体验中都没有对应的经典活动将始终可用。一个例子是“查找元素”活动,它可以用在已经添加到我们工作流程中的现代应用程序卡中。事实上,我们可以使用现代应用卡中的所有经典UI活动。此外,我们还可以在经典活动和现代活动之间传递输出数据。例如,让我们添加一个经典的“附加浏览器”活动。此处的 UIBrowser 输出可用作…作为现代应用程序卡的输入,反之亦然。对其他经典活动(例如“打开应用程序”或“打开浏览器”)也可以这样做。我们暂时将其删除,因为我们不需要它。到目前为止,我们已经在项目级别的经典和现代设计体验之间切换。让我们看看如何将两者之一设置为 Studio 中所有新项目的默认值。所以,让我们访问后台视图。我们在设置,设计下有一个新参数,称为“为新项目使用现代”。通过使用此切换,我们可以将默认设置设置为从现在开始为所有新项目使用现代或经典设计体验。现在,让我们回到我们的工作流程并快速浏览一下定位方法。 ModernActivity 使用UnifiedTarget 来识别屏幕上的UI 元素。 Unified Target 实际上是一系列定位方法:Selectors、FuzzySelectors、Image 和 Anchors。机器人使用给定的顺序,如果一个失败,它会尝试下一个。经典活动往往只使用一种定位方法,目前最常见的是选择器。在 Modern Recorder 中,我们可以使用 UI Explorer 直接编辑选择器,这为我们提供了更多控制。回到 Studio,在活动属性中,我们可以访问目标详细信息,例如 Targeting Methods、Selector、Fuzzy Selector、Window Selector 和 Anchor。这使我们的 demoontheUI 自动化设计体验结束。快速回顾一下,在本视频中,我们快速了解了现代应用程序/网络记录器,我们已经看到了如何在项目和工作室级别的现代和经典设计体验之间切换,并且我们已经探索了差异在记录器、对象存储库、活动和目标方法方面介于两者之间。我们希望你发现这个视频很有用。感谢您的收看,我们下期再见!