【问题标题】:Getting error while running Screenshotter in Firebase testLab在 Firebase testLab 中运行 Screenshotter 时出错
【发布时间】:2020-09-18 12:37:41
【问题描述】:

我正在尝试在上传到 firebase 测试实验室的 Android 捆绑包上运行 Espresso 测试。我还包含了 firebase Screenshotter 库。我在 firebase 测试实验室收到以下错误:

09-18 05:22:13.937:E/cloud_screenshotter(18993):截屏异常:java.io.FileNotFoundException:/sdcard/screenshots/com.augustinus.fcmtest.LoggedInTests-haveVideoCallScreen-CallNotification-1.jpg:打开失败:ENOENT(没有这样的文件或目录)

我已经拥有存储权限,这会显示在日志的开头:

09-18 02:51:37.784: I/GrantPermissionCallable(18946): Permission: android.permission.READ_EXTERNAL_STORAGE is already granted!
09-18 02:51:37.785: I/GrantPermissionCallable(18946): Permission: android.permission.WRITE_EXTERNAL_STORAGE is already granted!
09-18 02:51:37.785: I/GrantPermissionCallable(18946): Permission: android.permission.READ_EXTERNAL_STORAGE is already granted!

使用的设备是物理设备。像素 4,API 级别 29

更新: 再次测试,可以确认问题存在于 Api 级别 29 但不是 Api 级别 28。在 Api 级别 29 (Android 10) 上,访问存储的工作方式发生了一些变化。访问共享媒体文件夹是不同的。 Firebase ScreenShotter 很可能尚未更新以应对 API 级别 29。

【问题讨论】:

    标签: android firebase android-espresso firebase-test-lab


    【解决方案1】:

    理想情况下,Google Firebase 需要更新其 ScreenShotter 库以使用 API 级别 29。作为短期解决方案,您可以在 AndroidManifest.xml 中添加以下内容

     <application
          android:requestLegacyExternalStorage="true"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-26
      • 2021-01-29
      • 2023-03-27
      • 2022-11-02
      • 2019-12-20
      • 2016-09-15
      • 2019-10-28
      相关资源
      最近更新 更多