前言:【【非原创】】UiPath Advanced RPA Developer Certification Training的课程资料机翻版。
课程链接:Link
现代体验在冗余中使用定位方法,使自动化随着时间的推移更具弹性。此模块专为希望将具有现代 Studio 体验的 UI 自动化添加到其技能集的开发人员而设计。
您将在本单元中学到什么 在本单元结束时,您应该能够:
现代体验中的 UI 自动化
了解此功能如何工作的最佳方法是查看它的实际运行情况。以下视频演示了使用现代体验的“单击”、“获取文本”、“键入”和“使用应用程序/浏览器”活动。
此外,您将了解什么是目标和锚点。如果您想重现这些步骤,只需从下面的 zip 文件中打开 DoubleUI 应用程序。
本演示使用 UiPath Studio 2020.10 Release 版本录制。在构建时,请确保在您的项目中启用了现代体验。
视频抄本
您好,欢迎使用 Studio 进行 UI 自动化。在第一个演示中,我们将重点介绍使用 ModernExperience 的用户界面自动化的基础知识。更具体地说,我们将与 Double UI 应用程序进行交互。
为此,我们将使用 Studio 中 UI 自动化的基本构建块:“使用应用程序/浏览器”活动和“键入”、“单击”和“获取文本”活动。
DoubleUI 是一个用于记录交易的演示应用程序。这是开始使用用户界面元素的好地方。基本上,每个按钮、字段、文本块和复选框都是 UI 元素,并且有多种与它们交互的方式。
我们将通过在“CashIn”输入字段中输入一个值,在“On Us Check”输入字段中输入另一个值来模拟进行存款交易,然后我们将点击接受并显示此交易编号。
让我们打开 Studio 并创建一个新的进程。
我们将项目命名为“UIAutomation 的基础知识”并提供描述。我们首先将包含Double UIapp 的文件夹复制到我们的项目文件夹中。请注意,我们可以通过从文件资源管理器中复制它,在项目面板中选择项目节点,右键单击并粘贴来完成此操作。这将允许我们使用应用程序的相对路径。
请注意,我们将在整个过程中保持应用程序运行。
新项目已准备好所有资源。让我们从 UI 自动化的第一个构建块开始——使用应用程序/浏览器活动。此活动附加到桌面应用程序或 Web 浏览器页面以在 UI 自动化中使用。添加活动并指明要使用的应用程序或网页后,我们在“使用应用程序/浏览器”活动中添加要在应用程序中执行的活动。如果应用程序尚未打开,则在执行进程时将其打开。请注意,当我们需要使用多个应用程序时,我们将为每个应用程序使用一张卡。在我们的例子中,我们将只使用Double UIdesktop 应用程序。所以,一个Use Application/Browseractivity就足够了。
接下来,我们必须指定目标应用程序。应用程序的缩略图确认选择。请记住,缩略图仅提供信息,除非我们指定另一个应用程序,否则不会随我们的下一步操作更新。
“应用程序路径”属性表示机器上可执行文件的“地址”。让我们将绝对应用程序路径更改为项目相对路径。
对于这个演示,我们将使用两个“TypeInto”活动,一个“点击”活动,一个“获取文本”活动,一个“消息框”。让我们开始一个一个地添加它们。
我们将拖放第一个“TypeInto”活动。接下来,我们必须为此活动指定目标UI元素。为此,突出显示应用程序,并显示一个帮助菜单,将引导我们完成选择过程。让我们选择“兑现”输入字段。Studio 将自动添加一个目标和一个锚点。你可能会问这些是什么? ,目标是我们希望在此过程中与之交互的 UI 元素。另一方面,锚点是帮助机器人更具体地识别 TargetUI 元素的 UI 元素。在我们的例子中,锚点是可编辑字段。锚点的关键是足够稳定并确保目标的正确识别,特别是当存在更多相似元素时。这个已经足够好了,因为它不会改变。一切看起来都不错,所以让我们确认选择。现在我们已经选择了元素,我们必须定义要在字段中键入的内容。这里有一个小注释:“Type Into”是一个输入活动,因为我们使用它来向 UI 元素输入数据。数据并不一定意味着价值;简单的单击或检查也是向 UI 元素输入数据的一种方式。我们有多种方法可以将字符串添加到“键入此”字段中。例如,我们可以直接将其输入到字段中,或者我们可以右键单击并使用“打开编辑器”选项。让我们在 Cash-In 字段中输入值“1000”,然后单击 OK。
接下来,我们将为“On Us Check”字段添加另一个“Type Into”活动。
我们将遵循相同的一组步骤:添加活动,指示输入字段…检查目标和锚点并确认。接下来,我们将为“On Us Check”输入字段添加值“200”并再次点击“OK”。我们知道我们可以通过使用键盘操作在用户界面的不同元素之间导航。工作室让我们通过键盘快捷键活动来做到这一点。无处是酷的部分。如果我们单击记录并按下按键,它将捕获 Tab 键以从一个元素导航到另一个元素,Enter 键确认操作,甚至 Control + S 的组合来保存我们的文件。顺序可以随时调整,如果我们不再需要,我们也可以删除记录的密钥。对于我们的演示,我们不需要使用键盘。所以,让我们右击活动并选择删除。
下一步是添加一个“点击”活动来接受存款交易。 Target 和 Anchor 都可以,所以我们只需点击“确认”。好吧。任何以前添加的活动都可以随时从选项菜单中编辑。让我们进入第二个活动的编辑模式。通过这样做,我们从上次离开的最后一步重新开始 - 显示“目标和锚点正常”消息。请记住,锚点不是强制性的。尽管如此,我们还是建议为 UI 元素的每个 Target 使用一个锚点。但是,我们最多可以为每个 Target 添加 3 个 Anchor。当我们的过程无法可靠地区分多个相似目标时,需要添加多个锚点。同时,如果一个锚点工作正常,更多的锚点并不一定意味着更好的可靠性。可以随时使用“移除”按钮移除锚点。也可以完全移除目标,同时移除所有分配的锚点。让我们再次选择我们的输入字段并确认。要获取交易编号,让我们使用“获取文本”活动。这是我们使用的第一个输出活动。我们从 UI 元素中获取了一些东西;因此,我们正在处理输出活动。我们会指出目标。这一次,会显示一个警告:“No Anchor Automatically found”。再次重申,anchors 不是强制性的,但使用一个是最佳实践。让我们将“交易编号”标签设置为锚点。辅助菜单显示一切正常,我们可以确认选择。现在我们已经确定了交易号,让我们保存它以备后用。 “Saveto”是一个字段,它让我们指示我们想要用来存储活动输出的变量。如果该变量不存在,我们可以通过按Control+K 并为其提供名称来直接在字段内创建它。我们称之为“交易号”。请注意,该变量已使用正确的数据类型 String 自动创建。我们要确保交易号已成功存储,因此我们将其与“消息框”活动一起显示。在这里,我们将使用我们之前创建的变量。让我们在调试模式下运行工作流。我们可以看到我们的值被插入到输入字段中,单击接受按钮并且交易编号显示在消息框中。请注意,消息框中的数字与应用程序中的数字相同,因此可以认为这是成功的。我们现在可以保存我们的项目并退出。这就是本课的全部内容!感谢收看,我们下期再见!
我们可以将 Recorder 用于所有其他应用程序的自动化吗?记录器仅适用于自动化用户界面。它不适用于涉及 Excel、Outlook、Word 或文件和文件夹自动化的任务,在这些任务中您仍需要一一添加活动。例如,如果您使用 CRM,那么记录器是一个很好的工具,可以减少您在构建自动化项目上花费的时间。您仍然需要手动添加项目的控制流部分。
让我们更进一步!在之前的课程中,您了解了更多关于自动化界面如何工作以及如何通过在屏幕上记录您的操作来节省时间的知识。您的挑战是使用记录器并创建以下自动化:
生成强密码
最后,使用 CTRL+V 键盘快捷键将密码粘贴到记事本中。
在开始自动执行此任务之前…对于上述场景,您需要 2 个应用程序,即浏览器和记事本。
要在 Recorder 中的应用程序之间切换,您需要执行以下操作:
首先,暂停录制。
打开另一个应用程序。对于这种情况,它是记事本。
单击更改应用程序按钮。自动录制将在您要对其执行进一步操作的新应用程序中恢复。请注意,如果您使用的 UI 自动化活动包版本高于 21.4,则无需更改应用程序。
什么是统一目标?
Unified Target 是我们用于 UI 自动化的现代框架。单击、键入以及最重要的在屏幕上定位正确元素等活动现在已通过这种针对 UI 元素以实现自动化的新统一方法得到增强。有许多技术或方法可以促进 UI 交互,例如选择器、图像、文本、计算机视觉等。
通过使用统一的框架,所有方法都相互支持以提高可靠性,这样您就可以确保您的机器人克服因选择 UI 元素的薄弱点而造成的任何障碍。
此外,将单个框架用于一组类似的活动的另一个优点是,您可以在整个工作流程中将其用作开箱即用的解决方案。因此,您无需花时间配置和考虑所使用的每种方法的特殊性,因为它很容易在后台运行。统一目标使用几个框架来识别 UI 元素。
UI 框架默认情况下,使用专有框架来访问目标应用程序窗口,但是,如果未检测到目标,Studio 会提供两种替代方案:
视频演示 - 高级 UI 自动化 在演示中,您将发现一个更复杂的 UI 自动化场景。此演示中使用的场景使用两个桌面应用程序 - Excel 和 Double UI 应用程序。
本演示使用 UiPath Studio 2020.10 Release 版本录制。在构建时,请确保在您的项目中启用了现代体验。
让我们快速回顾一下这个演示中的关键点:
当我们需要在我们的流程中组合范围时,我们可以使用嵌套容器。
我们可以使用循环来重复 UI 自动化活动序列。
当我们选择“编辑目标”时,用于识别和突出显示 UI 元素和锚点的过程与运行时使用的过程相同。用于识别目标和锚点的方法有选择器、模糊选择器和图像。
它们以冗余方式并行工作。如果最快的方法失败,另一个可能会成功识别目标 UI 元素。
感谢您的收看,我们下期再见!
鉴于业务流程中使用的一系列应用程序和技术,您可能会遇到困难。除了在框架之间切换之外,您还可以尝试多种选项来提高 UI 自动化项目的可靠性。
这些是:
此功能将帮助您查找可在自动化应用程序中找到的所选元素的所有匹配项。您可以使用此工具来调试您的 UI 描述符或选择。观看下面的演示以了解如何使用它。
Video Transcript
您好,欢迎回到使用 Studio 进行 UI 自动化。
在这个演示中,我们将看到显示所有匹配项功能如何突出显示由任何单独的定位方法识别的所有 UI 元素。
在选择 UI 元素期间或在编辑现有选择时,将显示所有定位方法。
机器人通过检查冗余的目标和锚候选对来识别 UI 元素。在某些情况下,我们可能希望微调定位方法以减少已识别候选者的数量。
这是 Show All Matches 派上用场的地方。它让我们看到为每个单独的定位方法识别的所有候选 UI 元素。
我们可以通过单击每种定位方法的眼睛图标来使用显示所有匹配项。
在此示例中,我们要使用 Cash In 字段。当我们单击 Show All Matches 时,我们可以看到 Selector 标识了我们想要的字段,但是,Fuzzy Selector 和 Image 与所有三个字段都匹配。
此功能可用于目标和锚点。在我们的例子中,所有 Anchor 定位方法只识别一个元素。
这就是本课的全部内容!
为了快速回顾,ShowAll Matches 突出显示了定位方法的所有候选对象。我们建议在微调定位方法时使用它。
谢谢收看,我们下期再见!
此功能可以帮助您选择单击无法使用的目标或锚点。它可以通过按 F3 键启用,您可以使用边界框绘制您的选择。观看下面的演示以了解如何使用它。
Video Transcript
您好,欢迎回到使用 Studio 进行 UI 自动化。
在本视频中,我们将了解 Studio 中的图像选择模式以及它如何在没有可用于目标或锚点的选择器的情况下帮助我们。
让我们从添加“使用应用程序/浏览器”活动并选择“DoubleUI”应用程序开始。
接下来,让我们添加点击活动。
在这个例子中,我们将模拟一个没有选择器可用的场景。
在这种情况下,我们可以使用图像选择模式。此模式切换到仅基于图像的识别。可用于选择botha targetandananchor。
让我们使用“图像选择”模式来识别一个元素。
我们可以通过简单地按住鼠标左键并在我们想要使用的区域周围绘制一个矩形来定义屏幕上的选择。让我们突出显示“Cash In”Textas 目标。
接下来,我们将选择“CashIn”输入字段作为锚点。让我们将鼠标悬停在标签选择上,单击 Anchor 图标,然后在 CashIn 字段周围绘制一个矩形。
在确认我们的选择之前,让我们检查一下目标的设置菜单。
您可以看到用于我们选择的唯一验证方法是 Image 方法。这对于 Anchor 也是一样的。
让我们确认选择。
通过运行这个过程,我们可以看到我们的点击是成功的。
图像选择模式也可在编辑模式中使用。
删除之前的锚点和目标将使我们重新配置选择。
这次我们将使用图像选择模式来突出显示第一个输入字段。 Thewizard 检测到还有两个候选者可用,从而使我们的选择不可靠。
使用 Image 选择模式添加锚点将有助于我们明确指定我们打算使用的 UI 元素。
我们现在可以确认并完成编辑过程。
以上是图像选择模式的全部内容。
快速回顾一下:
在自动化没有选择器的应用程序时,可以使用图像选择模式。
使用此模式创建的目标和锚点的唯一定位方法是图像。
我们可以通过按住鼠标左键并在感兴趣的区域周围绘制矩形来定义选择。
感谢收看,我们下期再见!
目标元素验证使您能够通过检查所有选定的方法和锚点来检查当前选择在识别目标方面的有效性。
验证结果显示在“选择选项”窗口的顶部。如果需要调整,则会显示一条消息,其中包含有关如何改进选择的信息。
每种方法的性能都使用以下图标之一显示在“选择选项”窗口的“高级设置”部分:
让我们快速回顾一下这个演示中的要点:
当我们需要在我们的流程中组合范围时,我们可以使用嵌套容器。
我们可以使用循环来重复 UI 自动化活动的序列
当我们选择 Edit Target 时,用于识别和突出显示 UI Element 和 Anchor 的过程与运行时使用的过程相同。
用于识别目标和锚点的方法有选择器、模糊选择器和图像。它们以冗余方式并行工作。如果最快的方法失败,另一个可能会成功识别目标 UI 元素。
感谢您的收看,我们下期再见!
到目前为止,您已经了解了如何通过使用图像选择模式并检查验证方法识别的所有匹配项来对自动化项目进行故障排除。但是,如果自动化的成功取决于特定的 UI 元素呢?
此检查应用程序状态操作对于您要检查要自动化的应用程序是否存在的情况很有用。
考虑应用程序或浏览器中的不同选项卡。在向工作流程添加活动时,您需要确保定位到正确的应用程序元素或浏览器选项卡。
此外,如果未找到您的元素,您可以添加另一组要执行的活动。要在执行下一个活动之前增加找到目标元素的时间,您可以更新等待选项的值。观看下面的演示,了解如何使用 Check App State 操作。
验证执行功能允许您确保 UI 交互(例如,单击或类型)以预期结果执行。验证执行还提供了在结果通过验证之前重试操作的选项。
检查您的理解 您想要自动执行涉及使用 rpasamples.com/suppliers 网站的任务。一系列不幸的事件发生了。解决办法是什么?建议:打开网站检查可用的 UI 元素并在 Studio 中测试您的解决方案想法。
让我们更进一步!
在前面的课程中,您了解了更多有关自动化界面实际工作方式的知识。这都是关于选择正确的锚点。现在是时候让您了解 Unified Target 的实际可靠性了。
您的挑战是解决 RPA 挑战!作为最受欢迎的 RPA 练习之一,此练习将挑战您选择正确的锚点。此挑战的目标是创建一个工作流,将电子表格中的数据输入到网站的表单字段中。
但这里有诀窍:每次提交后,这些字段都会改变屏幕上的位置。您有 10 轮时间来使工作流正确识别每次必须在何处输入每条记录。
您将在 RPA 挑战赛中找到所需的所有信息和工作材料。
在你开始之前…
本练习让您浏览下载的 Excel 文件的所有行,并在每一轮中插入信息。在上一课“故障排除和调试 UI 自动化”中,第一个演示视频中出现了类似的情况。该任务包括将来自多个 Excel 行的所有数据输入到银行柜员应用程序中。
读取 Excel 文件并使用 For Each Row 循环遍历数据表行。
作为最佳做法,确保在输入所有 Excel 字段后关闭浏览器窗口。
这也是测试不同输入模式的机会。检查哪个最快。
UI Automation - UiPath Studio Guide
Learn more about UI Automation
Check App State - UiPath Activities Guide