使用 Azure DevOps 从 ALM 实验室管理运行测试

本主题介绍如何添加构建步骤,以先准备 ALM 实验室环境,然后从 ALM 实验室管理模块运行 OpenText Functional Testing 功能测试。

本主题介绍如何使用 OpenText Functional Testing Azure DevOps 扩展 25.2.*。为了从最新功能中受益,建议将现有任务的版本更新到 25.2.*。使用此扩展版本时,请确保从 ADM-TFS-Extension GitHub 存储库安装了相应的 UFT.zip 文件。

先决条件:

在从 OpenText Application Quality Management 运行测试之前,您必须先设置集成。这是一次性设置,仅当您更改为其他版本时才需要重复此设置。

在 Azure DevOps Server 用于运行测试的计算机上,在通用模式下注册 ALM 客户端 客户端: 有关注册的详细信息,请参阅 OpenText Application Quality Management 帮助中心的“ALM 客户端启动器”部分。

准备 ALM 实验室环境

先准备 ALM 实验室环境,然后运行保存在 OpenText Application Quality Management 中的 OpenText Functional Testing 测试,以作为测试实验室模块中的测试集或构建验证套件的一部分。

在 Azure DevOps Server 中,执行以下操作:

  1. 创建管道。(注: 如果您要使用 TFS,请跳过此步骤)

    1. 使用 Empty job 模板创建构建管道或发布管道。

      注: 构建管道是在您未显式创建发布管道时创建的管道类型。

    2. 选择包含要运行测试的代理的代理池。

    3. 在管道变量中,添加一个 UFT_LAUNCHER 变量。该变量的值应为 UFTWorking 文件夹的完整路径。

    有关更多详细信息,请参阅 Microsoft Azure 文档。

  2. 按照构建顺序在正确的位置添加 OpenText Functional Testing 任务或构建步骤:

    1. 在“任务”目录中,选择“测试”选项卡。将显示所有可用测试任务的列表。

    2. 在“测试”选项卡中,选择“OpenText Functional Testing ALM 实验室环境准备”任务,然后单击“添加”。添加的空白新任务将作为构建计划的一部分。

  3. 为您的任务提供以下信息:

    必填信息描述
    显示名称 (可选)

    默认情况下,Azure DevOps Server CI 系统将使用任务的预设描述符。

    为步骤提供更有意义的名称。

    ALM 服务器

    从其运行测试的 ALM 服务器

    ALM 服务器地址必须采用以下格式之一:

    • http://<ALM 服务器名称>
    • IP:port/qcbin

    您可能还需要使用通用注册模式连接到 OpenText Application Quality Management。在这种情况下,请使用以下格式之一输入 URL:

    • http://<ALM 服务器名称>
    • IP:port/qcbin/start_a.jsp?common=true
    ALM 凭据

    输入用于访问 ALM 服务器的用户名和密码。(不支持 SSO 身份验证)

    确保指定的 ALM 用户具有打开和运行 OpenText Functional Testing 测试的正确权限。

    有关权限的详细信息,请参阅 OpenText Application Quality Management 帮助中心

    存储包含测试的项目的 ALM 服务器中的域。
    项目包含测试的项目。

    在 Azure 中隐藏敏感信息

    要隐藏诸如 ALM 密码或 SSO 凭据等信息,请为此信息定义 Azure 任务变量并将其锁定:

    1. 创建变量: 

      在任务的“变量”选项卡中,为要隐藏其值的每个字段添加一个变量。

      输入变量的值,选择锁定选项。

      (可选) 也可以选择“在队列时间可设置”,以在对内部版本进行排队时可以编辑此值。

      例如,创建一个 MyPassword 变量,然后输入您的 ALM 密码作为其值。

    2. 将变量链接到任务中的相关字段:

      在“任务”选项卡中,单击“链接设置”

      在“要链接的设置”中,选择要链接到变量的字段,然后在“值”中输入 $(<变量名称>)。单击“链接”以完成该过程。

      例如,选择“密码”字段,然后输入 $(MyPassword)

  4. 展开“高级”设置并指定以下信息:

    选项描述
    新建配置名称

    输入配置的名称。

    如果选择此选项,请在指定字段中输入值。

    使用现有的配置 IDOpenText Application Quality Management 中输入 AUT 环境配置的 ID。

    有关可用选项的详细信息,请单击选项旁边的问号图标。

  5. 展开“参数”部分,然后输入要为该配置更新的 AUT 环境参数。

    执行此任务时,使用的参数不得超过 10 个。如果要运行的测试包含 10 个以上的参数,请添加另一步骤。

    您必须分别 (逐个) 选择每个参数,然后指定参数的详细信息。

    如果不为任何参数选择或提供参数值,则将导致无法使用指定参数。

  6. 为该步骤配置 CI 系统控制选项,包括:

    选项描述
    已启用指定是否应在此构建过程中运行步骤
    出错时继续指示 CI 系统在此步骤出错时停止或继续构建。

此配置将在相应的位置用作构建步骤。

继续学习请参阅 "从 ALM 实验室管理 运行测试"

ALM 实验室管理 运行测试

准备好 ALM 实验室环境 之后,添加另一个 Azure DevOps Server 构建步骤,以触发 OpenText Functional Testing 测试运行。

要从 ALM 实验室管理触发测试运行,请执行以下操作:

  1. 在 Azure DevOps Server 中,执行以下操作之一:

    • 打开您之前创建的管道,其中包含“ALM 实验室环境准备”任务的步骤。

    • 如果您的实验室环境已经设置好并且您不需要准备任务:

      创建管道。(注: 如果您要使用 TFS,请跳过此步骤)

      1. 使用 Empty job 模板创建构建管道或发布管道。

        注: 构建管道是在您未显式创建发布管道时创建的管道类型。

      2. 选择包含要运行测试的代理的代理池。

      3. 在管道变量中,添加一个 UFT_LAUNCHER 变量。该变量的值应为 UFTWorking 文件夹的完整路径。

      有关更多详细信息,请参阅 Microsoft Azure 文档。

  2. 按照构建顺序在正确的位置添加 OpenText Functional Testing 任务或构建步骤:

    1. 在“任务”目录中,选择“测试”选项卡。将显示所有可用测试任务的列表。

    2. 在“测试”选项卡中,选择“OpenText™ Functional Testing ALM 实验室管理运行”任务,然后单击“添加”

      添加的空白新任务将作为构建计划的一部分。

  3. 为您的任务提供以下信息:

    必填信息描述
    ALM 服务器

    测试的常规信息,包括 ALM 服务器信息和测试实验室标识信息。

    您可能还需要使用通用注册模式连接到 OpenText Application Quality Management。在这种情况下,请使用以下格式之一输入 URL:

    • http://<ALM 服务器名称>
    • IP:port/qcbin/start_a.jsp?common=true
    ALM 凭据

    根据 ALM 服务器所需的身份验证类型,凭据可以是用户名和密码或用于 SSO 身份验证的 API 密钥。

    • 用户名和密码:

      用户名: 用于访问服务器的 ALM 用户名称。

      密码: 上面指定的 ALM 用户的密码。

    • SSO 身份验证:

      选择“启用 SSO”

      输入从您的 ALM 站点管理员处获得的“客户端 ID”和“API 密钥”

    确保此任务中指定的 ALM 用户或客户端具有打开和运行 OpenText Functional Testing 测试的正确权限。

    有关权限的详细信息,请参阅 OpenText Application Quality Management 帮助中心

    存储包含测试的项目的 ALM 服务器中的域。
    项目包含测试的项目。
    运行类型运行测试时使用的运行模式: 测试集或构建验证套件
    测试集 ID/构建验证套件 ID

    要运行的测试集或构建验证套件的 ID (来自 OpenText Application Quality Management)。

    测试集的类型必须为“功能”

    时间段持续时间

    (以分钟为单位,最小值=30)

    主机上运行测试集或构建验证套件所需的时间。

    CDA 配置信息

    ALM 服务器上 CDA 配置的详细信息。

    有关单个选项的详细信息,请单击相应选项旁边的“信息”气泡。

    有关更多详细信息,请参阅 ALM 帮助中心

    时间戳模式

    在“扩展”选项卡中定义用于报告的时间戳字段的值格式。

    默认值为 yyyy-MM-dd HH:mm:ss

  4. (可选) 在紧靠“从 ALM 实验室管理运行”任务后面,添加“停止 ALM 实验室管理运行”任务。

    如果管道在“从 ALM 实验室管理运行”任务中被取消或中断,则停止任务会确保运行也在 OpenText Application Quality Management 上停止。这将释放为运行分配的 ALM 时间段,使您能够立即将其用于后续运行。

    1. 在“任务”目录中,选择“测试”选项卡。将显示所有可用测试任务的列表。

    2. 在“测试”选项卡中,选择“OpenText™ Functional Testing ALM 实验室管理停止运行”任务,然后单击“添加”

    3. 执行以下某些操作以配置任务控制选项:

      1. 请参阅 "运行此任务"列表选择“即使之前的任务失败,即使构建被取消”

      2. 选择“自定义条件”并输入 eq(variables['Agent.JobStatus'], 'Canceled')

      3. 如果您使用 YAML 脚本,请使用 condition: canceled()

  5. (可选) 从“测试”选项卡中,添加“发布测试结果”任务或构建步骤以将测试结果发布到 Azure Pipelines。

    为该步骤提供以下信息,以基于 OpenText Functional Testing 的 XML 运行结果报告创建 JUnit 报告:

    必填信息描述
    显示名称指定步骤名称。
    测试结果格式JUnit
    测试结果文件**/*.xml
    搜索文件夹

    提供文件夹的路径,该文件夹包含测试结果 XML 文件。

    使用以下格式: 

    在构建管道中: <UFTWorking\res 文件夹的路径>\Report_$(Build.BuildNumber)

    在发布管道中: <UFTWorking\res 文件夹的路径>\Report_$(Release.ReleaseID)

    测试运行标题

    指定报告的标题。

    如下在标题中使用环境变量,报告名称要基于管道名称和内部版本号:

    在构建管道中: $(System.DefinitionName)_$(Build.BuildNumber)

    在发布管道中: $(System.DefinitionName)_$(Release.ReleaseID)

    这有助于检索有关 Azure DevOps 的报告。

  6. 为该步骤配置 CI 系统控制选项,包括:

    选项描述
    已启用指定是否应在此构建过程中运行步骤
    出错时继续指示 CI 系统在此步骤出错时停止或继续构建。
    运行此任务指示 CI 系统何时运行此步骤。要在运行测试失败后发布结果,请选择“即使之前的任务失败,除非构建被取消”
  7. 将您的管道设置为运行:

    构建管道: 保存管道并将其排队。

    发布管道: 创建版本并部署管道。

    当管道运行时,OpenText Functional Testing 测试作为您添加的任务的一部分运行。

    ALM 实验室管理设置中配置的主机上运行测试。支持“特定主机”分配和“自动匹配”配置。

查看测试结果

测试运行之后,可以通过以下方式查看运行结果: 

可视报告

在运行结果的“扩展”选项卡中,您可以看到包含以下部分的报告: 

  • “Functional Testing 报告”部分显示测试运行状态。

  • “运行摘要”显示运行的测试数量以及每个状态的百分比。

如果您正在使用发布管道,则这些结果可在“阶段”级别获得。

JUnit 测试结果报告

如果已添加“发布测试结果”步骤,可以在运行结果的“测试”选项卡上查看 JUnit 结果。

指向 OpenText Application Quality Management 上保存的运行结果的链接 (如果您从 TFS 运行测试)

OpenText Functional Testing 会自动将指向 OpenText Application Quality Management 上的运行结果的链接保存为构建项目。

在运行结果的“摘要”选项卡上查看此链接。

例如:

另请参见: