gpt4 book ai didi

android - 如何从 Firebase 测试实验室设备下载文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:50 24 4
gpt4 key购买 nike

我正在尝试从 Google Firebase 测试实验室设备下载文件。这些文件是通过运行插桩测试生成的。文件是截图。我需要下载屏幕截图,因为后续运行的测试会将屏幕与这些屏幕截图进行比较。因此,屏幕截图是视觉变化检测的基线。

我尝试寻找一种方法来连接到 Firebase 测试实验室设备的 Device File Explorer .但是似乎没有办法远程访问它。

Firebase Test Lab cleans up the device测试后,我假设我可以实现我想要做的事情的唯一方法是向测试添加代码以文件推送到某个地方。

我想将文件推送到的一个地方是存储测试结果的 Google Cloud 存储桶。从下面的文档来看,这似乎是存储桶的预期用途:

After Test Lab completes testing of your app, you can review test results in the Firebase console or in a Google Cloud storage bucket in your project. You can also add a gsutil command to the shell command shown above to copy the test results data to your local computer. To learn more, see Analyzing Firebase Test Lab Results. (Firebase documentation)

对于这种方法,我的插桩测试如何将文件推送到存储桶?它怎么知道要使用哪个桶?执行文件传输的 API 是什么?

我可以采用的另一种方法是 Take Screenshots from Firebase Test Lab Instrumentation Tests那将使屏幕截图进入存储桶。但我看到两个潜在的问题。

第一个问题是屏幕截图库的屏幕截图可能与从UiAutomation.takeScreenshot() 截取的屏幕截图不同。 .换句话说,基线屏幕截图是使用屏幕截图库拍摄的,但在后续运行中,我将使用 UiAutomation.takeScreenshot() 拍摄屏幕截图并进行比较。由于库不同,它们的屏幕截图可能不同。一个可能的解决方案是使用屏幕截图库获取两个屏幕截图。但随后我需要弄清楚如何将屏幕截图读回内存,以便我可以执行比较操作。今天我把它们读成 Bitmaps .

对于这种方法,我的插桩测试将如何加载屏幕截图库的屏幕截图作为 Bitmaps

第二个问题是弄清楚如何将屏幕截图从存储桶下载到我的本地计算机。存储桶的用户界面没有下载按钮。它只有一个上传按钮:

enter image description here

对于这种方法,我如何将文件从存储桶下载到我的本地计算机,以便我可以将它们添加到我的插桩测试可以读取的资源目录?

最佳答案

好的,我希望我在下面回答了你所有的问题:

默认情况下,/sdcard/Screenshots 中的所有文件都会从设备复制到您有权访问的 GCS 存储桶中。您可以在测试期间将自己的文件写入设备上的同一文件夹中。测试实验室将拾取它们并将它们复制到存储桶中。

如果你想下载额外的文件夹并下载到本地,我可以推荐flank它有一个名为“directories-to-pull”的选项来指定多个目录。它已经提供了很多您尝试用手实现的东西等等。

如果您不想使用 flank,gcloud 也有此选项,但会将文件放入您的 GCS 存储桶中。没有下载到本地机器。

Cloud Storage UI 似乎相当有限。它允许您下载单个文件,但不能下载文件夹作为 zip。使用 gsutil 递归下载文件:

gsutil -m cp -r gs://path/to/bucket/folder path/to/local/folder

默认情况下,Test Lab 会为您提供一个 GCS 存储桶位置,它将文件复制到该位置,但您可以使用自己的存储桶和位置,例如使用 gcloud 客户端:

gcloud firebase test android run --results-bucket=gs://my-bucket --results-dir=path/to/folder

关于android - 如何从 Firebase 测试实验室设备下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54374049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com