AWS Device Farm 中的限制 - AWS Device Farm

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

AWS Device Farm 中的限制

服务限制

  • 您可以包括在测试运行中的设备数量没有限制。但是,在测试运行期间 Device Farm 将同时测试的设备数上限为 5。该数字可以根据要求增加,并由服务团队根据具体情况进行评估。

  • 您可以安排的运行次数没有限制。请注意,这些运行最多只能排队 24 小时。

  • 远程访问会话的持续时间有 150 分钟的硬性限制。

  • 自动测试运行的持续时间有 150 分钟的硬性限制。

  • 包括您账户中待处理的排队任务在内的最大数量为 250。这是一个软性限制。

  • 您在测试运行中可以包含的设备数量没有限制。在任何给定时间,您可以在其中并行运行测试的设备(作业)数量等于您的账户级并发度。Device Farm 中用于计量的默认账户级别并发度为 5。

  • 根据使用案例,计量并发限制可按需提升至特定阈值。非计量用途的默认账户级别并发度等于您为该平台订阅的插槽数量。

    有关默认计量并发限制或一般配额的更多信息,请参阅配额页面。

  • 不使用自定义测试环境的自动化运行中最多只能有 250 个单独的测试用例。否则,可能会跳过运行。

文件限制

  • 您可以上传的应用程序的最大文件大小为 4 GB。请注意,我们目前不接受适用于 Android 的 .aab 格式文件。

  • 在测试运行期间,Device Farm 自动生成的视频的最大大小为 1 GB。任何超过此大小的视频,超出此部分的所有剩余视频内容都将被截断。客户仍可以使用自己的视频录制解决方案(如果有),并将其存储在 Device Farm 的托管存储外部。

  • 在测试运行期间,Device Farm 自动生成的设备日志(Android 上的 logcat 或 iOS 上的 syslog)的最大大小为 1 GB。任何超过此大小的日志,超出此部分的所有剩余日志都将被截断。如果日志超过 1 GB,客户可以将这些日志存储在 Device Farm 的托管存储外部。

  • Device Farm 的自定义环境模式客户构件的最大累积大小为 1 GB。如果您的构件超过此大小,则所有构件都将不可用。

  • 如果测试运行期间生成的所有构件的累积大小超过 4 GB,则系统可能会丢弃某些构件(包括视频、设备日志和客户构件)。

API 限制

  • Device Farm 按照令牌存储桶算法对 API 调用速率进行节流。例如,假设创建一个存放令牌的存储桶。一个令牌代表一个事务,一次 API 调用会用掉一个令牌。令牌以固定速率(例如每秒 10 个令牌)添加到存储桶中,存储桶的容量有上限(例如 100 个令牌)。请求或程序包到达时,必须从存储桶中获取令牌才能被处理。如果有足够的令牌,则系统会通过请求并移除令牌。如果没有足够的令牌,则请求要么延迟,要么被丢弃,具体取决于实现情况。

    在 Device Farm 中,算法的实现方式如下:

    • Burst API 请求数是服务在指定客户账户 ID 中针对指定 API 能够响应的最大请求数。换句话说,这就是存储桶的容量。只要存储桶中还有令牌,您就可以多次调用 API,并且每个请求会消耗一个令牌。

    • Transactions-per-second (TPS) 速率是可以执行您的 API 请求的最低速率。换句话说,这就是存储桶每秒重填令牌的速率。例如,如果某个 API 的突发数为 10,但 TPS 为 1,则可以立即调用它 10 次。但是,存储桶只能以每秒 1 个令牌的速度重新获得令牌,除非您停止调用 API 让存储桶重填令牌,否则系统将节流为每秒 1 个调用。

以下是 Device Farm 的费率 APIs:

  • 对于 List an APIs d Get,Burst API 请求容量为50Transactions-per-second (TPS) 速率为10

  • 对于所有其他请求 APIs,Burst API 请求容量为10Transactions-per-second (TPS) 速率为1

Appium 端点限制

以下限制适用于所有 Appium 端点会话。有关如何最好地处理限制的问题和指导,请提交支持案例。

  • 每个 Appium 命令的执行时长限制为 4 分钟,之后该命令就会超时。

  • 该端点接受的输入有效载荷大小不超过 20MB,并允许输出有效载荷大小不超过 20MB。任何输入或输出大小大于此值的请求都将收到 WebDriver 错误消息'unsupported operation'

  • 请求按照收到的顺序在设备上按顺序执行。因此,我们强烈建议按顺序发送命令,并在发送新命令之前等待每个命令的响应。也就是说,某些 Appium 服务器命令可以并行发送,特别是:

  • 该端点目前不支持该WebDriver BiDi 协议

  • 该端点不支持 Appium 插件或除 XCUITest 和 UIAutomator2 驱动程序之外的驱动程序。

  • 通过远程访问会话创建请求,最多可以将 3 个应用程序用作辅助应用程序。也就是说,在会话期间使用 InstallToRemoteAccessSessionAPI 可以安装的应用程序数量没有限制。

自定义环境变量限制

以下限制适用于所有自定义环境变量。有关如何最好地处理限制的问题和指导,请提交支持案例。

  • 在给定的 Device Farm 项目或运行中,最多可以配置 32 个变量。

  • 变量名称的长度不能超过 256 个字符。

  • 变量名受所施加的限制的约束bash。也就是说,它们必须仅包含字母数字和下划线字符,并且不能以数字开头。

  • 以开头的$DEVICEFARM_变量名保留供内部服务使用。

  • 变量值的长度不能超过 256 个字符。

  • 环境变量不能用于在测试规范文件中配置测试主机计算选择。