You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成测试中如何自动授予权限?

Flutter Instrumentation测试中自动授予权限的有效方案

问题背景

我已完成Firebase集成测试的搭建,通过以下本地命令可成功运行测试:

flutter build apk --debug --flavor dev
./gradlew app:assembleDevDebugAndroidTest
./gradlew app:connectedDevDebugAndroidTest -Ptarget=integration_test/main_test.dart

但在新设备或重装应用后,测试过程中APK仍会弹出权限请求弹窗。我尝试在flutter_app/android/app/src/androidTest/java/com/domain/myapp/MainActivityTest.java中添加GrantPermissionRule代码来自动授权,但并未生效:

@RunWith(FlutterTestRunner.class)
public class MainActivityTest {
    @Rule
    public ActivityTestRule<MainActivity> rule = new ActivityTestRule<>(MainActivity.class, true, false);

    @Rule
    public GrantPermissionRule mRuntimePermissionRule =
        GrantPermissionRule.grant(android.Manifest.permission.READ_EXTERNAL_STORAGE,
            android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
            android.Manifest.permission.READ_PHONE_STATE,
            android.Manifest.permission.READ_MEDIA_VIDEO,
            android.Manifest.permission.READ_MEDIA_IMAGES,
            android.Manifest.permission.ACCESS_COARSE_LOCATION,
            android.Manifest.permission.CAMERA,
            android.Manifest.permission.ACCESS_FINE_LOCATION
    );
}

权限请求弹窗

请问在Flutter Instrumentation测试中,有没有能自动授予权限的有效方法?


内容的提问来源于stack exchange,提问作者Vishnu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 17:25:15