迁移到 Device Farm 中的 AWS Amazon Linux 2 测试主机 - AWS Device Farm

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

迁移到 Device Farm 中的 AWS Amazon Linux 2 测试主机

警告

旧版安卓测试主机将于 2024 年 10 月 21 日不再上市。请注意,弃用过程分为几个日期:

  • 2024 年 4 月 22 日,来自任何新账户的任务都将定向到升级后的测试主机。

  • 2024 年 9 月 2 日,所有新的或修改过的测试规范文件都必须以升级后的测试主机为目标。

  • 2024 年 10 月 21 日,作业将无法再在旧版测试主机上运行。

将测试规范文件设置到amazon_linux_2主机,以防止出现兼容性问题。

要将现有测试从旧主机迁移到新的 Amazon Linux 2 主机,请根据已有的测试规范文件开发新的测试规范文件。推荐的方法是从您的测试类型的新默认测试规范文件开始。然后,将相关命令从旧的测试规范文件迁移到新的测试规范文件中,将旧文件保存为备份。这使您可以充分利用新主机的优化默认规范,同时重复使用现有代码。它可确保您获得针对测试进行了优化配置的新主机的全部好处,同时还可以在将命令应用于新环境时保留旧的测试规范以供参考。

以下步骤可用于创建新的 Amazon Linux 2 测试规范文件,同时重复使用旧测试规范文件中的命令:

  1. 登录 DeviceFarm 控制台,网址为 https://console.aws.amazon.com/devicef arm。

  2. 导航到包含您的自动化测试的 Device Farm 项目。

  3. 在项目中选择创建新的测试运行

  4. 为您的测试框架选择之前使用的应用程序和测试包。

  5. 选择在自定义环境中运行测试

  6. 从测试规范下拉菜单中选择您当前用于在旧测试主机上进行测试的测试规范文件。

  7. 复制此文件的内容并将其粘贴到本地文本编辑器中以供日后参考。

  8. 在测试规范下拉菜单中,将您的测试规范选择更改为最新的默认测试规范文件。

  9. 选择编辑,您将进入测试规范编辑界面。您会注意到,在测试规范文件的前几行中,它已经选择了新的测试主机:

    android_test_host: amazon_linux_2
  10. 此处查看选择测试主机的语法,并在此处查看测试主机之间的主要区别。

  11. 您可以选择将步骤 6 中本地保存的测试规范文件中的命令添加到新的默认测试规范文件中,并进行编辑。然后,选择另存为以保存新的规范文件。现在,您可以安排在 Amazon Linux 2 测试主机上运行测试。

新测试主机和旧版测试主机之间的差异

在编辑测试规范文件以使用 Amazon Linux 2 测试主机并从旧版测试主机迁移测试时,请注意以下主要环境差异:

  • 选择软件版本:在许多情况下,默认软件版本已更改。因此,如果您之前没有在旧版测试主机中明确选择软件版本,则可能需要立即在 Amazon Linux 2 测试主机中使用 devicefarm-cli 指定软件版本。在绝大多数用例中,我们建议客户明确选择他们使用的软件版本。通过选择带有 devicefarm-cli 的软件版本,您将获得可预测且一致的使用体验,并且如果 Device Farm 计划从测试主机中删除该版本,则会收到大量警告。

    此外,诸如 nvmpyenvavmrvm 之类的软件选择工具已被删除,取而代之的是新的 devicefarm-cli 软件选择系统。

  • 可用的软件版本:以前预安装的软件的许多版本都已被删除,并添加了许多新版本。因此,请确保在使用 devicefarm-cli 选择软件版本时,选择支持的版本列表中的版本。

  • 在旧版主机测试规范文件中,任何硬编码为绝对路径的文件路径很可能无法在 Amazon Linux 2 测试主机中按预期工作;通常不建议将它们用于测试规范文件。我们建议您对所有测试规范文件代码使用相对路径和环境变量。此外,请注意,测试所需的大多数二进制文件都可以在主机中找到,因此仅使用其名称(例如 appium)即可立即从规范文件中运行它们。PATH

  • 目前,新的测试主机不支持性能数据集。

  • 操作系统版本:旧版测试主机基于 Ubuntu 操作系统,而新的测试主机基于 Amazon Linux 2。因此,用户可能会注意到可用的系统库和系统库版本存在一些差异。

  • 对于 A ppium Java 用户,新的测试主机在其类路径中不包含任何预安装的JAR文件,而之前的主机包含用于测试NG框架的文件(通过环境变量)。$DEVICEFARM_TESTNG_JAR我们建议客户将测试框架的必要JAR文件打包到测试包中,并从测试规范文件中删除该$DEVICEFARM_TESTNG_JAR变量的实例。有关更多信息,请参阅使用 Appium 和 Dev AWS ice Farm

  • 对于 Appium 用户,$DEVICEFARM_CHROMEDRIVER_EXECUTABLE 环境变量已被删除,取而代之的是一种支持客户访问适用于 Android 的 Chromedriver 的新方法。有关使用新环境变量 $DEVICEFARM_CHROMEDRIVER_EXECUTABLE_DIR 的示例,请参阅我们的默认测试规范文件

注意

我们强烈建议按原样保留默认测试规范文件中的现有 Appium 服务器命令。

如果您从软件角度对测试主机之间的差异有任何反馈或疑问,我们建议您通过支持案例与服务团队联系。