本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于自定义测试环境的主机
Device Farm 通过使用测试主机环境支持一组带有预配置软件的操作系统。在测试执行期间,Device Farm 使用亚马逊管理的实例(主机),这些实例(主机)动态连接到所选的被测设备。此实例已完全清理,不会在两次运行之间重复使用,并在测试运行结束后以其生成的工件终止。
自定义测试环境的可用测试主机
测试主机完全由 Device Farm 管理。下表列出了用于自定义测试环境的当前可用和支持的 Device Farm 测试主机。
| 设备平台 | 测试主机 | 操作系统 | 架构 | 支持的设备 |
|---|---|---|---|---|
| Android | amazon_linux_2 | Amazon Linux 2 | x86_64 |
Android6 及以上 |
| iOS | macos_sequoia |
macOS Sequoia(第 15 版) |
arm64 |
iOS15 到 26 |
注意
Device Farm 会定期为设备平台添加新的测试主机,以支持较新的设备操作系统版本及其依赖项。发生这种情况时,相应设备平台的较旧测试主机将终止支持。
操作系统版本
每台可用的测试主机都使用当时 Device Farm 支持的特定版本的操作系统。尽管我们尝试使用最新的操作系统版本,但这可能不是最新的公开发行版本。Device Farm 将使用次要版本更新和安全补丁定期更新操作系统。
要了解测试运行期间使用的操作系统的特定版本(包括次要版本),可以将以下代码片段添加到测试规范文件的任何阶段。
phases: install: commands: # The following example prints the instance's operating system version details - |- if [[ "Darwin" == "$(uname)" ]]; then echo "$(sw_vers --productName) $(sw_vers --productVersion) ($(sw_vers --buildVersion))"; else echo "$(. /etc/os-release && echo $PRETTY_NAME) ($(uname -r))"; fi
为自定义测试环境选择测试主机
您可以在测试规范文件的相应ios_test_host变量中指定 Android android_test_host 和 iOS 测试主机。
如果您没有为给定设备平台指定测试主机选择,则测试将在Device Farm设置为指定设备和测试配置的默认设置的测试主机上运行。
重要
在 iOS 18 及更低版本上进行测试时,如果未选择主机,则将使用旧版测试主机。有关更多信息,请参阅上的主题旧版 iOS 测试主机。
例如,请查看以下代码片段:
version: 0.1 android_test_host:amazon_linux_2ios_test_host:macos_sequoiaphases: # ...