テストハーネス モードを実装する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
テストハーネス モードは、デバイスやデバイス群のテストを自動化するサードパーティ アプリのデベロッパーを対象として、Android 10 に追加された機能です。この機能を使用すると、Android デバイスのすべてのユーザーデータをワイプし、ADB キーを保持して、初期設定画面をすべてスキップできます。これにより、ユーザーは手動による操作なしで起動直後に UI テストを実行できます。
カスタマイズ
ActivityManager.isRunningInUserTestHarness()
を確認することで、デバイスがテストハーネス モードになっているかどうかを判別できます。カスタマイズは最小限に抑えてください。UI テストの中断や手動による操作の必要性が生じる設定画面(キーボード入力や設定ウィザード)のスキップなどにとどめます。
実装
PersistentDataBlockManagerInternal
のデフォルト実装は PersistentDataBlockService
にあります。テストハーネス モードは TestHarnessModeService
に実装されています。
テストハーネス モードのデフォルト実装では、出荷時設定へのリセット保護機能と同じストレージ メカニズムを使用して adb キーを一時的に永続パーティションに格納します。出荷時設定へのリセット保護機能が設定された永続パーティションがテストデバイスにすでに実装されている場合、この機能をサポートするために必要な作業はほとんどありません。
永続パーティションを設定していない OEM の場合、TestHarnessModeService
を実行する前に PersistentDataBlockManagerInternal
を実装する必要があります。
テストハーネス モードのステータスを確認する
テストハーネス モードが有効になっている場合、ActivityManager.isRunningInUserTestHarness()
は true
を返します。
テストハーネス モードを開始する
テストハーネス モードを有効にすると、デバイスからすべてのデータが消去され、デバイスがテスト用に設定されます。つまり、テストの妨げとなる可能性があるデバイスの機能(自動同期アカウント、パッケージの確認、自動アップデートなど)についてはすべてデフォルトで無効になっていますが、ユーザーは再度有効にできます。
adb
コマンドを実行して、テストハーネス モードを有効にします。
adb shell cmd testharness enable
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2024-09-28 UTC。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]
{"lastModified": "\u6700\u7d42\u66f4\u65b0\u65e5 2024-09-28 UTC\u3002"}
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-09-28 UTC。"]]