ユーザー補助機能の確認

AccessibilityCheck クラスを使用すると、既存のテストコードを使ってユーザー補助機能の問題をテストできます。テスト中に View を操作すると、操作が行われる前に、ユーザー補助機能のテスト フレームワークによって自動的に確認が行われます。このクラスをインポートして、セットアップ メソッドに @Before アノテーションを付け、以下のコードを追加するだけで使用できます。

Kotlin

    import androidx.test.espresso.contrib.AccessibilityChecks

    @RunWith(AndroidJUnit4::class)
    @LargeTest
    class AccessibilityChecksIntegrationTest {
        companion object {
            @BeforeClass @JvmStatic
            fun enableAccessibilityChecks() {
                AccessibilityChecks.enable()
            }
        }
    }
    

Java

    import androidx.test.espresso.contrib.AccessibilityChecks;

    @RunWith(AndroidJUnit4.class)
    @LargeTest
    public class AccessibilityChecksIntegrationTest {
        @BeforeClass
        public static void enableAccessibilityChecks() {
            AccessibilityChecks.enable();
        }
    }
    

これにより、ViewActions クラスの ViewAction を使用するたびに、該当のビューでユーザー補助機能の確認が行われるようになります。階層内のすべてのビューで確認が行われるようにするには、代わりに以下のロジックを使用します。

Kotlin

    AccessibilityChecks.enable()
            .setRunChecksFromRootView(true)
    

Java

    AccessibilityChecks.enable()
            .setRunChecksFromRootView(true);
    

この確認を初めて有効にした際には、すぐに対処できない問題がたくさん見つかる可能性があります。このようなエラーを抑制するには、エラー報告の不要な結果に対してマッチャーを設定します。AccessibilityCheckResult のマッチャーは、ユーザー補助機能テスト フレームワーク内の AccessibilityCheckResultUtils にあります。たとえば、ID が R.id.example_view のビューのエラーをすべて抑制するには、次のようにします。

Kotlin

    AccessibilityChecks.enable()
            .setSuppressingResultMatcher(matchingViews(withId(R.id.example_view)))
    

Java

    AccessibilityChecks.enable()
            .setSuppressingResultMatcher(matchingViews(withId(R.id.example_view)));
    

ユーザー補助機能の確認に関するより高度な構成については、GitHub の eyes-free リポジトリをご覧ください。