测试在真实设备上生成

重要

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

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

本文档介绍如何集成 App Center 生成和 App Center 测试 ,以在实际设备上运行最新的成功生成。

支持的配置

App Center 设备测试需要:

  • AndroidiOS 应用。
  • 应用包与在物理设备上运行兼容。

配置生成

  1. 登录 https://appcenter.ms
  2. 转到 “添加新 > 应用”,创建应用。 更多详细信息: 创建和管理应用
  3. 为应用命名,选择应用的目标 OS 以及应用使用的平台。
  4. 选择屏幕左侧的 “生成” 图标。
  5. 连接代码存储库。 更多详细信息: App Center 内部版本简介
  6. 选择分支。
  7. 单击“ 配置 ”创建新配置,或单击扳手/齿轮图标以编辑现有配置。
  8. 单击“保存”

如果关闭设置页面而不保存,它将默认恢复其以前的设置。 当设置无效或缺少必需信息时,将禁用保存。

启用启动测试

使用启动测试不需要编写测试或 App Center Test 许可证。 对于 Android 应用,启动测试功能使用 Xamarin.UITest 自动处理测试,而对于 iOS,它使用 Appium。

在分支配置页上 选择“在真实设备上测试 ”开关。 启动测试会在生成时增加几分钟,因为生成会等待测试完成。 这样的好处在于可以知道应用是否在物理设备上启动了。

可通过以下几种方式查找启动测试结果:

  • 在每个生成的结果页上,将显示一个指向启动测试的链接。
  • 转到左侧菜单中的“ 测试 ”,然后选择“ 测试系列 > 启动-测试 ”以查看该应用的所有启动测试。

提示

某些 Android 配置可以创建多个 APK 文件。 这使得生成服务不清楚要测试哪个二进制文件。 禁用在 Android 生成选项中 为每个选定的 ABI 生成一个包 (.apk) 以解决此问题。 Android 应用需要 Internet 权限进行启动测试。 请确保在应用清单中声明 Internet 权限。

自动部署到 App Center 测试

可以将生成 & 测试集成,以将 UI 测试套件与应用的每个版本一起运行。 与启动测试相比,此功能还有其他要求和限制:

  • 需要有效的测试试用版或付费许可证。
  • 目前仅支持使用 Appium (JUnit) 、Calabash、Espresso、XCUITest 或 Xamarin.UITest 编写的 UI 测试。
  • 某些测试框架需要额外的设置才能启用 App Center 测试支持,包括 AppiumEspresso & XCUITest
  • 使用生成后脚本处理测试套件要求的任何任务,这些任务不由应用生成直接处理。 这些任务可能包括编译测试 dll,& 命令将测试套件上传到测试服务。
  • 对于完整 UITest,生成服务不会将其超时限制 (1 小时) ,因此除非测试运行时间较短, --async 否则需要使用上传命令中的 标志。 生成完成状态不会反映测试套件是否通过。

分步说明:

  1. 配置应用、生成 & 试用版或许可证。 (可以忽略生成) 中的 启动测试 设置。
  2. 确认测试套件在物理设备上本地运行,并且可以将其上传到本地测试服务。
  3. 编写 生成后脚本环境变量 可以帮助你编写有效的生成脚本。
  4. 首次提交生成脚本或更改生成脚本在存储库中的位置后,请将生成配置保存在 App Center 中。 生成脚本应位于main应用项目的根文件夹中。
  5. 在生成脚本中,确保生成测试套件(如果尚未与 main 应用一起生成)。
  6. 此外,在生成脚本中,为 App Center Test 提供并执行上传命令,该命令可执行以下操作:
  • 指向所有测试依赖项,包括测试 dll、应用包 & 测试的任何其他要求,例如包含的数据文件。
  • --async使用 命令确保生成不会等待测试套件完成
  • 排除 应用依赖项,这些依赖项应已存在于应用包中。 在上传中包含应用依赖项可能会导致测试运行中出现不可预知的行为。

示例测试生成脚本

可在此处查看有效生成脚本的示例: