Microsoft Azure DevOps集成

Azure DevOps 提供多项服务以增强开发工作流程,包括用于项目持续集成(CI)和持续交付(CD)的Pipeline。使用Squish创建的自动化GUI测试可以作为这些管道流程的一部分轻松执行。

要将Squish测试作为管道的一部分执行,可以使用Squish Integration扩展。它在微软市场提供:Squish Integration

该扩展添加了两个任务:一个用于运行Squish测试,另一个在Squish Test Center的帮助下创建Azure DevOps结果。

Pipeline代理

测试执行需要一个测试环境。对于Squish GUI测试,可以使用自托管的代理(例如本地PC或笔记本电脑)或Azure云提供的虚拟机(VM)。要使用自托管解决方案,您必须安装Azure Pipeline代理

Squish测试需要访问显示器,无论是物理的还是虚拟的。对于Windows,可以通过以下至少两种方式启动管道代理:作为服务或作为进程。由于服务没有此类访问权限,DevOps代理不能作为服务启动以运行Squish测试。因此,代理必须作为进程启动。有关在Windows上运行测试的更多详细信息,请参阅Windows自动化

Squish任务

可以将Squish任务添加到构建或发布Pipeline阶段,以运行Squish GUI测试并收集结果。要使用此任务,必须在将运行任务的代理上安装Squish。任务的一些设置需要特别注意才能正常运行。

  • Squish文件夹(必需)- 代理上Squish安装文件夹的路径。
  • 测试套件(必需)- Squish测试套件的路径,每行一个路径。
  • 测试用例 - 从测试套件中执行测试用例的名称。使用分号(;)分隔值。
  • 使用stdout reportgen - Squish是否应将测试结果输出到stdout,然后在Azure DevOps的控制台中查看。
  • 使用Squish Test Center reportgen - Squish是否应使用Squish Test Center的reportgen。如果选中,则需要其他设置
    • Squish Test Center实例的基本URL(必需)- 应接收结果的Squish Test Center实例的URL。
    • 项目(必需)- 推送结果的Squish Test Center项目。
    • 上传令牌(必需)- 用于推送结果的Squish Test Center上传令牌。
    • 批次名称 - 要创建结果的批次的名称。如果留空,Squish Test Center将自动生成一个新的批次。可以在这里使用Pipeline变量。
    • 标签 - used to tag results using a list of ;-separated items, in the form of "OS=Windows"。可以在这里使用Pipeline变量。

此任务可以在不同的代理上并行执行,使您可以在多个环境中运行相同的Squish GUI测试集,如果需要,还可以将这些结果推送到Squish Test Center中的同一批次。此任务的状态与Squish GUI测试的结果直接相关:成功表示所有测试都通过,无失败;如果某些测试包含失败,则为警告;如果遇到错误,则为失败。

Squish Test Center任务

本任务针对的是 Azure DevOps 可追溯性中使用 Squish 测试中心的用户。如果 Squish GUI 测试与 Squish 测试中心中的 Azure DevOps 测试之间存在映射关系,则可以使用此任务根据映射关系在 Azure DevOps 中触发新的运行和结果创建。运行此任务所需设置的参数与手动执行相同。

  • Squish 测试中心实例的基 URL(必需)- 作为推送动作来源的 Squish 测试中心实例的 URL。
  • 项目(必需)- 作为映射来源的 Squish 测试中心项目。
  • 批次名称(必需)- 包含要推送到 Azure DevOps 的结果的批次的名称。

示例:Azure DevOps 配置

  1. 在 Azure DevOps 空间中,创建一个构建管道。

    我们将不会详细说明此步骤,因为这高度依赖于您的项目以及您构建应用程序的方式。在此示例中,我们使用了 托管 VS2017 接口池。构建工件(即应用程序)在 Azure Pipelines 中发布。

    "Azure: Publishing Artifacts"

  2. 在 Azure DevOps 空间中,创建一个发布管道。

    "Azure: Release Pipeline"

    发布管道的工件包括

    • 在上一步骤中发布的 AUT。
    • 存储在外部 GitHub 仓库中的 Squish GUI 测试。
  3. 在 DevOps 代理上安装 Squish。

    此步骤可以通过手动执行或作为发布管道的一部分执行。在前面一种方法中,在 DevOps 代理上运行 Squish 安装程序,并按照安装向导操作。

    在后一种方法中,首先交付 Squish 安装程序,并在发布管道中的一个任务中执行无人值守安装。

  4. 执行 Squish 测试。

    "Azure: Squish Task"

    将 Squish 任务添加到构建/发布管道中,并根据您的设置调整参数。

  5. 从 Squish 测试中心将结果推送到 Azure DevOps。

    如果根据以下说明在可追溯性页面中预先创建了 Azure DevOps 测试与 Squish GUI 测试之间的映射,则将 Squish 测试中心中提到的批次的测试结果推送到 Azure DevOps:Azure DevOps 集成

©2024 Qt 公司版权所有。本文件中包含的文档贡献属于其各自的版权所有者。
提供的文档受 GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。
Qt 及其相关标志是芬兰和其他国家/地区的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。