アンドロイド マシュマロ。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.
詳細はこちら
ここで
.
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] ssh "パーミッションが開きすぎています "エラー
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] Android 6.0 Marshmallow (API 23) で getColor(int id) が非推奨になりました。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] 深くネストされたスタックから離れるとき、Fragmentのバックスタックをクリーンアップする方法はこれで良いのでしょうか?
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Kotlinと新しいActivityTestRule:@Ruleはpublicでなければならない
-
[解決済み] マシュマロでストレージのパーミッションエラーが発生する
-
[解決済み] CardView layout_width="match_parent "が親のRecyclerViewの幅と一致しない。
-
[解決済み] AndroidでラジオボタンにOnClickListenerを設定するには?
-
[解決済み] Androidアプリケーションのヒープサイズを大きくするには?
-
[解決済み] BottomNavigationViewを新しいNavControllerで使用する際に、フラグメントを生かす方法はありますか?
-
[解決済み] Android: xml リソースからの整数値
-
[解決済み] アンドロイドボタンセレクター
-
[解決済み] Travis.yml ./gradlew : パーミッションが拒否されました。
-
[解決済み] Google Play ストア内部テストのロールアウトが開始できない