使用 Azure DevOps 进行 UI 测试

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但有几种建议的替代方法可以考虑迁移到其中。

详细了解支持时间表和替代方案

本指南介绍如何修改现有的 Azure Pipelines 生成,以创建应用程序二进制文件(.apk.ipa 文件),以添加在 App Center 测试中运行测试套件的 App Center 测试任务。

Azure Pipelines 作为 Azure DevOps Services 的一部分提供。 Azure Pipelines 可帮助你为任何应用实现生成、测试和部署管道。 有关 Azure DevOps Services 或 Azure Pipelines 的详细信息,请参阅 Azure DevOps 文档Azure Pipelines

Azure Pipelines 的 App Center 测试任务允许在 App Center 测试中运行测试套件。 可以使用 Appium、XCUItest、Espresso 和 Xamarin.UITest 框架。 在 App Center 测试支持的框架页上阅读有关框架的详细信息。

本指南中的每个框架都有自己的部分,可在其中阅读有关在 Azure Pipelines 中设置 App Center 测试任务定义的基本要求。

常规配置步骤

开始之前

在开始测试之前,需要满足以下条件:

  • 创建应用程序二进制文件(.apk.ipa 文件)的 Azure Pipelines 生成。
  • 有效的 App Center 测试帐户。 可以在 App Center 激活 App Center 测试的试用版。 首先选择应用,然后在左侧菜单中选择“测试”。
  • 将管道配置为使用 Node 10.x.x。 阅读如何在 Azure DevOps 文档中阅读文档,文档是关于 Javascript,但原则也适用于此处。

Azure Pipelines 常规配置

找到 Azure Pipelines 项目并将其打开以供 编辑。 单击 + 以添加新任务,然后搜索 App CenterApp Center 测试的 Azure Pipelines 搜索屏幕

单击 App Center 测试任务旁边的“添加”。 在屏幕左侧,单击“使用 Visual Studio App Center 任务添加的测试”以选择和修改它。 App Center 测试任务分为多个部分。 App Center 测试任务的常规部分

在顶部部分中,在“二进制应用程序文件路径”字段中插入应用二进制.apk 文件路径(或 .ipa的路径

连接到 App Center 测试

使用服务之前登录到 App Center;有两种身份验证方法可供你使用。

第一种方法使用 API 令牌;获取帐户的 API 令牌:

  • 登录到 App Center,并单击 App Center 门户左上角的用户设置图标。
  • 在出现的菜单中,选择“ 帐户设置”。
  • “设置” 面板中,选择 “API 令牌”。
  • 单击面板右上角的“新建 API 令牌”按钮。
  • 命名新的 API 令牌 - 例如,可以调用它 Azure DevOps。 将来,此名称将帮助你确定哪个服务正在使用该服务。 显示生成的 API 令牌的屏幕
  • 单击“ 添加新 API 令牌 ”按钮。 弹出窗口显示新的 API 令牌;此弹出窗口是 App Center 显示此令牌的唯一时间 。 单击剪贴板按钮,将 API 令牌复制到浏览器的剪贴板。 将 API 令牌保存到某个位置(例如 Azure 密钥库,例如),可以在需要时再次安全地引用它。

在剪贴板上使用 API 令牌:

  • 切换到 Azure DevOps Services 窗口。 在 App Center 连接 字段中,在 App Center 测试任务的“运行 ”部分中,单击“ 添加 ”按钮。
  • 使用连接的适当名称填充窗体的 “名称 ”字段(例如: App Center)。
  • 将 App Center API 令牌粘贴到 API 令牌 字段中。
  • 单击“关闭”完成设置。

请确保新创建的连接显示在“App Center 连接”字段中。 “运行”部分中的 App Center 测试身份验证

第二种方法使用 App Center 帐户凭据:

  • “身份验证方法”下拉菜单中选择“凭据”。
  • 使用 App Center 帐户中的凭据填充 App Center 用户名App Center 密码 字段。

注意

App Center 用户名位于 App Center 帐户配置文件。 如果使用Microsoft凭据登录,请使用密码设置帐户或任务无法登录。 可以在 App Center 中设置密码。

Appium

Appium 的 Azure Pipelines 配置

首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。

为 Appium 框架准备测试部分

在“准备测试”部分中,确保选中“准备测试”复选框,然后选择“测试框架”。 将 Appium 测试类、dependency-jar 和 pom.xml 文件 的路径插入到生成目录 字段中。 这三个项目通常位于 upload 文件夹中。

现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。

appcenter test run appium --app "username/appname" --devices 209ed689
 --app-path pathToFile.apk --test-series "main" --locale "en_US"
  --build-dir target/upload

App Center 测试任务的“运行”部分

  • 在提交页上,应用 slug 是 --app 参数。 将其 插入到 App Slug 字段中。
  • 设备选择是 --devices 参数。 将其插入到 “设备” 字段中。
  • 测试系列 是一个自由文本字段 - 可以是任何内容。 它是 --test-series 参数。
  • 系统语言 是下拉菜单。 如果选择“其他”将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示: en_US

保存配置,并且已设置为启动生成和 App Center 测试运行。

意大利浓咖啡

适用于 Espresso 的 Azure Pipelines 配置

首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。

准备 Espresso 框架的测试部分

在“准备测试”部分中,确保选中“准备测试”复选框,然后选择“测试框架”。

现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。

appcenter test run espresso --app "username/appname" --devices 209ed689
 --app-path pathToFile.apk --test-series "main" --locale "en_US"
  --build-dir pathToEspressoBuildFolder

App Center 测试任务的“运行”部分

  • 在提交页上,应用 slug 是 --app 参数。 将其 插入到 App Slug 字段中。
  • 设备选择是 --devices 参数。 将其插入到 “设备” 字段中。
  • 测试系列 是一个自由文本字段 - 可以是任何内容。 它是 --test-series 参数。
  • 系统语言 是下拉菜单。 如果选择“其他”将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示: en_US

保存配置,并且已设置为启动生成和 App Center 测试运行。

Xamarin.UITest

适用于 Xamarin.UITest 的 Azure Pipelines 配置

首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。

为 Xamarin.UITest 框架准备测试部分

在“准备测试”部分中,确保选中“准备测试”复选框,并在“测试框架”下选中 Xamarin UI 测试。 插入生成目录的路径;在大多数情况下,生成文件夹为: <ProjectName>/bin/<configuration>

现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。

appcenter test run uitest --app "username/appname" --devices 209ed689
 --app-path pathToFile.apk --test-series "main" --locale "en_US"
  --build-dir pathTUITestBuildDir

App Center 测试任务的“运行”部分

  • 在提交页上,应用 slug 是 --app 参数。 将其 插入到 App Slug 字段中。
  • 设备选择是 --devices 参数。 将其插入到 “设备” 字段中。
  • 测试系列 是一个自由文本字段 - 可以是任何内容。 它是 --test-series 参数。
  • 系统语言 是下拉菜单。 如果选择“其他”将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示: en_US

保存配置,并且已设置为启动生成和 App Center 测试运行。

XCUITest

注意

在管道中,在 App Center 测试任务之前,需要使用 Xcode 任务步骤 build-for-testing 来生成测试运行程序应用所需的测试运行程序应用。 在该任务中,在“高级”部分中的参数下,指定派生的数据路径,通常使用 -derivedDataPath DerivedData 还需要一个 .ipa file 应用程序。 可以通过检查Create app package选项或在单独的 Xcode 生成步骤或 Bash 脚本步骤中生成.ipa file一 Xcode build-for-testing 任务。

XCUITest 的 Azure Pipelines 配置

首先,按照 Azure Pipelines 常规配置中所述,将 App Center 测试任务添加到生成定义。

为 XCUITest 框架准备测试部分

在“准备测试”部分中,确保选中“准备测试”复选框,并在“测试框架”下选中 XCUITest。 从 Xcode build-for-testing 步骤插入生成目录的路径。 通常,生成文件夹为: DerivedData/Build/Products/Debug-iphoneos/

现在可以配置测试运行。 通过在 App Center 中创建新的测试来找到所需的全部信息。 按照启动测试运行中的说明操作。 将提交页面(测试运行安装程序的最后一页)保持打开状态,以便在设置 App Center 测试任务时使用该信息。

appcenter test run xcuitest --app "username/appname" --devices 209ed689 --test-series "main" --locale "en_US" --build-dir pathToXCUItestBuildFolder

App Center 测试任务的“运行”部分

  • 在提交页上,应用 slug 是 --app 参数。 将其 插入到 App Slug 字段中。
  • 设备选择是 --devices 参数。 将其插入到 “设备” 字段中。
  • 测试系列 是一个自由文本字段 - 可以是任何内容。 它是 --test-series 参数。
  • 系统语言 是下拉菜单。 如果选择“其他”将显示“其他区域设置”字段,你可以在其中输入语言和国家/地区代码,如下所示: en_US

保存配置,并且已设置为启动生成和 App Center 测试运行。