1. ホーム
  2. android

アンドロイド マシュマロ。Espressoでパーミッションのテスト?

2024-01-03 19:20:14

質問

Android Marshmallowで導入された新しいパーミッションの仕組みでは、実行時に特定のパーミッションをチェックする必要があり、ユーザーがアクセスを拒否するか許可するかによって異なるフローを提供する必要があることを意味します。

アプリの自動 UI テストを実行するために Espresso を使用しているので、さまざまなシナリオをテストするために、どのようにして許可の状態をモックまたは更新できるでしょうか。

どのように解決するのですか?

新しいリリースの Android テスティングサポートライブラリ 1.0 があります。 グラントパーミッションルール があり、テストを始める前にパーミッションを与えるためにテストで使うことができます。

@Rule public GrantPermissionRule permissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION);

Kotlinソリューション

@get:Rule var permissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION)

@get:Rule を使用する必要があります。 java.lang.Exception: The @Rule 'permissionRule' must be public. 詳細はこちら ここで .