Studio
2024.10
False
Studio 用户指南
Last updated 2024年6月28日

编码测试用例

编码测试用例以结构化的方式自动化和验证应用程序的行为。它们类似于低代码测试用例,允许使用代码进行灵活的自动化。

创建编码测试用例时,请定义 Given-When-Then 结构。此结构由三个阶段组成:
  1. 排列 - 排列阶段用于准备应用程序。
  2. 执行 - 执行阶段执行特定操作。
  3. 断言 - 断言阶段验证预期结果。

编码测试用例还可以调用其他低代码工作流或测试用例,从而允许重用代码。此集成可用于创建灵活的测试场景。

您也可以将执行模板应用于编码测试用例。请访问执行模板,了解如何使用执行模板。



结构

编码自动化采用结构化设计,其中包含命名空间、帮助程序类和入口点方法。编码自动化框架允许您使用 C# 编程语言编写自动化。

请遵循以下部分所述的编码自动化的详细结构。

创建编码自动化时,系统会使用 Studio 项目的名称自动生成命名空间。例如,如果您的 Studio 项目名为“我的项目”,则所有编码自动化的命名空间均为“我的项目”。

此外,如果您在 Studio 项目的文件夹中创建编码自动化,则命名空间将是项目的名称和文件夹的名称。例如,如果您的 Studio 项目名为“我的项目”,而文件夹名为“位置”,则命名空间将为“我的项目.位置”。

编码工作流编码测试用例自动化都使用 UiPath.CodedWorkflows 包中的 CodedWorkflow 部分类。根据项目中已安装的活动包,此类为自动化提供对服务(相当于活动包)必要接口的访问权限。
注意:导入支持编码自动化的活动包(例如 UiPath.System.Activities 23.10 或更高版本)时,会自动包含 UiPath.CodedWorkflows 包。

CodedWorkflow

编码自动化继承 CodedWorkflow 部分类,创建类型为 CodedAutomationExample : CodedWorkflow 的关系。这意味着 CodedAutomationExample 类从 CodedWorkflow 类继承了属性、方法和功能。本质上,该类可以访问和利用 CodedWorkflow 类中定义的功能,从而为编码自动化奠定了基础,使构建和自定义自动化的行为变得更加容易。
CodedWorkflow 类被声明为部分类,从而允许您通过在代码源文件中定义相同的部分 CodedWorkflow 类来扩展其功能。通过这种方式,您可以添加新的字段和方法,以进一步自定义编码自动化的行为。您可以使用此方法实现专门用于编码测试用例的“”和“”接口。
此外,CodedWorkflow 分部类继承 CodedWorkflowBase 类。


CodedWorkflowBase

CodedWorkflowBase 类包含编码自动化继承的内置功能。此类包含用于管理工作流实例、运行时访问、处理服务容器以及配置环境上下文的方法和特定属性。CodedWorkflowBase 类还提供了另一种单独的日志记录方法,您可以自定义该方法。
注意:在“代码编辑器设置”中,选择“启用源代码反编译” 以查看 CodedWorkflowBase 类。
请查看下表中的 CodedWorkflowBase 方法:
方法描述
ICodedWorkflowServices services
Note: We recommend you to use the the Log, BuildClient, and RunWorkflow methods through the services class and their corresponding services, instead of using them as standalone, readily available methods.
Provides access to the available services for coded workflows, such as:
  • OutputLoggerService: Allows you to output logs, using the Log method.
  • OrchestratorClientService (the BuildClient method): Allows you to enable the interaction with Orchestrator, through the BuildClient method.
  • WorkflowInvocationService: Allows you to invoke other workflows, using the RunWorkflow method.
  • Container: The container where all the services are stored. Allows you to manage resources for coded workflows, handling automatic import of namespaces and types, using the AutoImportedNamespaces and AutoImportedTypes methods. Additionally, it provides an instance of a specific service, using the Resolve method.
serviceContainer(ICodedWorkflowServiceContainer)
Note: This has been replaced by ICodedWorkflowServices services . If you continue to use this syntax, you get a warning pointing you to use the new services.Container syntax.
提供对特定于当前编码工作流的依赖项注入容器的访问权限。此容器称为服务容器,可用于检索已在其中注册的服务实例。
GetRunningJobInformation()在编码工作流的上下文中检索当前正在运行的作业的相关信息。该方法访问 executorRuntime 对象的 RunningJobInformation 属性,该属性保存有关作业状态、进度、参数和时间戳的信息。
Log(string message, LogLevel level = LogLevel.Info, IDictionary<string, object>additionalLogFields = null)将其他日志字段添加到具有指定属性的日志消息。
RunWorkflow(string workflowFilePath,IDictionary<string, object> inputArguments = null,TimeSpan? timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)提供在给定工作流运行时的上下文中执行工作流的结构。它可以设置参数,处理潜在的隔离并启动工作流执行。返回的任务提供已执行工作流的结果,包括其输出和输入/输出参数。
RunWorkflowAsync(string workflowFilePath,IDictionary<string, object> inputArguments = null, TimeSpan?timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)提供在给定工作流运行时的上下文中异步执行工作流的结构。它可以设置参数,处理潜在的隔离并启动工作流执行。返回的任务提供已执行工作流的结果,包括其输出和输入/输出参数。
DelayAsync(TimeSpan time)DelayAsync(int delayMs)在指定的一段时间内异步暂停执行。
Delay(TimeSpan time)Delay(int delayMs)在指定的时间段内暂停执行。
HttpClient BuildClient(string scope = "Orchestrator", bool force = true)构建具有指定作用域和访问令牌的 HTTP 客户端。
RegisterServices(ICodedWorkflowsServiceLocator serviceLocator)将服务(活动包)注册到编码工作流的服务定位器。当您要将自定义服务注入依赖项注入容器时,可以覆盖它。在此处了解如何创建和使用自定义服务(编码活动包)。
编码工作流和编码测试用例的入口点方法名为 Execute(),并属性化为 WorkflowTestCase。您可以更改方法的名称,只要将其归为 WorkflowTestCase
您只能在文件中使用一种继承 Coded Workflow 类的 Execute()方法([TestCase][Workflow])。

在此方法中,您可以添加输入和/或输出参数,这些参数相当于低代码自动化中的 InOutIn/Out 参数。浏览“使用输入和输出参数”教程,了解如何在编码自动化中使用参数。

此入口点方法可用作运行自动化的起点。由于其 Execute() 方法,这使编码工作流和测试用例易于识别为入口点。


项目兼容性

您只能在 Windows跨平台项目中使用编码自动化。

  • 结构
  • CodedWorkflow
  • CodedWorkflowBase
  • 项目兼容性

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.