【问题标题】:how to speed up initialization of run in firebase test lab如何加快在 Firebase 测试实验室中运行的初始化
【发布时间】:2021-08-22 13:17:14
【问题描述】:

运行时:

gcloud firebase test android run --type=instrumentation --app=app.apk --test=test_app.apk

firebase 命令行在“创建单独的测试执行”中停留了很多分钟。

当进一步调试时,命令行似乎会定期轮询后端“https://testing.googleapis.com:443”,直到一切正常。

有没有办法加快速度?此步骤可能需要 5 分钟,并且会花费不必要的 CI 时间

更新:

命令行缺少部分:--device model=NexusLowRes,version=29 --verbosity=debug

我进一步分析了这个问题。上传应用程序和测试应用程序大约需要 100 秒,另外需要 150 秒来创建测试执行。所以我认为这是系统的限制,这里什么也做不了。也许 apk 的大小是有限的。它大约有 200 mb,扫描它需要很长时间。

【问题讨论】:

  • 查看整个命令行可能会有所帮助,例如您正在创建多少个不同的设备*分片?另外,您的 APK 文件有多大?

标签: firebase firebase-test-lab


【解决方案1】:

请参阅我对您的问题的评论,询问可能影响答案的其他详细信息。

一种选择是将--async 添加到您的命令中。这只会轮询矩阵状态,直到它验证矩阵创建成功,然后退出而不等待测试实际运行。

【讨论】:

  • 我正在寻找如何使异步之前的部分更快。除此之外,如果我运行异步,我不知道结果何时到来。如果有一些付费选项可以尽快获得虚拟设备,我会很高兴
  • 您没有按照上面的要求发布整个命令行,这使得提供帮助变得更加困难。但我怀疑可以做很多事情来加快这一进程。分配虚拟设备的时间通常非常快。您所说的延迟是将 APK 上传到云端、验证矩阵、进行 APK 恶意软件检查、将矩阵扩展为单独的测试执行(每台使用的设备 1 个)以及许多其他测试前处理步骤所需的时间.设备分配是在从后端收到初始“OK”之后进行的(即在--async 会导致 gcloud 退出的点之后)。
  • 这是命令。我这里没有其他东西。
  • 如您所说,如果您打算使用虚拟设备,您的命令需要更多。如果您没有指定带有--device 标志的设备,您将获得 FTL 目录中的默认设备,即 API 28 上的物理 Pixel 3(型号“blueline”)。有时,为某些物理设备提交的测试多于可用设备(它们是有限的资源),这可能会导致测试运行延迟。
  • 5 分钟过去“创建测试执行”并不常见。对于这样一个简单的命令,我只能假设您的 APK 非常大,因此需要很长时间来上传和验证。 APK 恶意软件检查的结果会被缓存,因此您只需在首次上传前所未见的 APK 时支付一次费用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
相关资源
最近更新 更多