如何阻止Firebase测试实验室授予所有应用程序权限?

问题描述 投票:0回答:1

我正在使用 Patrol 包在我的 Flutter 应用程序的 Android 版本上运行端到端测试。当我在本地运行这些测试时,应用程序会向用户请求权限(特别是蓝牙和通知),并且我会根据这些权限提示进行 UI 交互。

但是,当我在 Firebase 测试实验室中运行相同的测试时,似乎所有权限都会自动授予,绕过了通常的用户提示流程。

我的目标是:

  1. 防止 Firebase 测试实验室自动授予权限,以便应用程序的行为与在标准环境中一样。
  2. 在我的巡逻测试代码中检测测试是否正在运行 Firebase 测试实验室,这样我就可以相应地调整我的 UI 检查。

有没有办法控制或检查 Firebase 测试实验室的权限行为,或以编程方式识别测试是否在此环境中运行?任何指导或解决方法将不胜感激!

我可以使用测试标签解决该问题,但我不想这样做。

android-permissions android-instrumentation firebase-test-lab flutter-patrol
1个回答
0
投票

Firebase 测试实验室似乎没有设置环境变量,所以我自己设置了

patrol build android --dart-define=IS_FIREBASE_TEST_LAB=true

构建 Android 可交付成果进行测试时。然后,该变量可用于巡逻测试代码和应用程序代码。

© www.soinside.com 2019 - 2024. All rights reserved.