Verificação de acessibilidade

A classe AccessibilityCheck permite que você use seu código de teste existente para testar problemas de acessibilidade. À medida que você interage com uma View durante um teste, o framework de teste de acessibilidade executa verificações automaticamente antes de continuar. Basta importar a classe e adicionar o seguinte código aos métodos de configuração anotados com @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();
        }
    }
    

Assim, as verificações de acessibilidade serão executadas em uma determinada visualização sempre que você usar uma ViewAction da classe ViewActions. Para executar essas verificações em todas as visualizações da hierarquia, use a seguinte lógica:

Kotlin

    AccessibilityChecks.enable()
            .setRunChecksFromRootView(true)
    

Java

    AccessibilityChecks.enable()
            .setRunChecksFromRootView(true);
    

Ao ativar as verificações pela primeira vez, você pode encontrar vários problemas que talvez não possam ser solucionados imediatamente. É possível suprimir esses erros definindo um matcher para os resultados que você quer suprimir. Os matchers de AccessibilityCheckResult aparecem em AccessibilityCheckResultUtils, no framework de teste de acessibilidade. Por exemplo, para suprimir todos os erros de uma visualização com o código R.id.example_view:

Kotlin

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

Java

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

Para ver uma configuração mais avançada da verificação de acessibilidade, consulte o repositório eyes-free (em inglês) no GitHub.