使用 Azure DevOps 进行 UI 测试

重要

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

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

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

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

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

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

常规配置步骤

准备工作

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

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

Azure Pipelines 常规配置

找到 Azure Pipelines 项目并将其打开进行 编辑。 单击 + 以添加新任务,然后搜索 “应用中心”。 App 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 Test Framework”。 将 Appium test-classes、dependency-jars 和 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 参数。 将其插入到 “应用 Slug ”字段中。
  • 设备选择是 --devices 参数。 将其插入到 “设备” 字段中。
  • 测试系列 是一个自由文本字段 - 它可以是任何内容。 它是 --test-series 参数。
  • 系统语言 是一个下拉菜单。 如果选择“ 其他 ”,则会显示“ 其他区域设置 ”字段,可在其中输入语言和国家/地区代码,如下所示: en_US

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

意大利浓咖啡

适用于 Espresso 的 Azure Pipelines 配置

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

为 Espresso 框架准备测试部分

在“准备测试”部分中,确保选中“ 准备测试 ”复选框,然后对于 “测试框架”,选择“ 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 参数。 将其插入到 “应用 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 参数。 将其插入到 “应用 Slug ”字段中。
  • 设备选择是 --devices 参数。 将其插入到 “设备” 字段中。
  • 测试系列 是一个自由文本字段 - 它可以是任何内容。 它是 --test-series 参数。
  • 系统语言 是一个下拉菜单。 如果选择“ 其他 ”,则会显示“ 其他区域设置 ”字段,可在其中输入语言和国家/地区代码,如下所示: en_US

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

XCUITest

注意

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

适用于 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 参数。 将其插入到 “应用 Slug ”字段中。
  • 设备选择是 --devices 参数。 将其插入到 “设备” 字段中。
  • 测试系列 是一个自由文本字段 - 它可以是任何内容。 它是 --test-series 参数。
  • 系统语言 是一个下拉菜单。 如果选择“ 其他 ”,则会显示“ 其他区域设置 ”字段,可在其中输入语言和国家/地区代码,如下所示: en_US

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