I test di accessibilità ti consentono di provare la tua app dal punto di vista l'intera base utenti, inclusi quelli con esigenze di accessibilità. Questa forma di i test possono rivelare opportunità per rendere la tua app più potente e versatile.
Questa pagina descrive come aggiungere controlli di accessibilità al tuo Espresso esistente test. Per ulteriori informazioni sull'accessibilità, consulta la sezione Accessibilità. di Google Cloud.
Abilita controlli
Puoi attivare e configurare i test di accessibilità utilizzando il metodo
AccessibilityChecks
classe:
Kotlin
import androidx.test.espresso.accessibility.AccessibilityChecks @RunWith(AndroidJUnit4::class) @LargeTest class MyWelcomeWorkflowIntegrationTest { init { AccessibilityChecks.enable() } }
Java
import androidx.test.espresso.accessibility.AccessibilityChecks; @RunWith(AndroidJUnit4.class) @LargeTest public class MyWelcomeWorkflowIntegrationTest { @BeforeClass public void enableAccessibilityChecks() { AccessibilityChecks.enable(); } }
Per impostazione predefinita, i controlli vengono eseguiti quando esegui un'azione di visualizzazione definita in
ViewActions
Ciascuna
che include la visualizzazione su cui viene eseguita l'azione, nonché tutte
viste discendenti. Puoi valutare l'intera gerarchia di visualizzazione di una schermata durante
ogni controllo passando true
in
setRunChecksFromRootView()
,
come mostrato nello snippet di codice riportato di seguito:
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
Elimina sottoinsiemi di risultati
Dopo che Espresso ha eseguito i controlli di accessibilità sulla tua app, potresti trovare
opportunità per migliorare l'accessibilità della tua app che non riesci a gestire
immediatamente. Per evitare che i test di Espresso non vadano a buon fine perché
di questi risultati, puoi ignorarli temporaneamente. Test di accessibilità
Framework (ATF) fornisce questa funzionalità utilizzando
setSuppressingResultMatcher()
che indica a Espresso di eliminare tutti i risultati che soddisfano
dell'espressione di abbinamento.
Quando apporti modifiche alla tua app che riguardano un aspetto dell'accessibilità, utile per Espresso per mostrare risultati per tanti altri aspetti della accessibilità il più possibile. Per questo motivo, è meglio eliminare solo le opportunità di miglioramento note.
Quando elimini temporaneamente i risultati dei test di accessibilità che prevedi di usare da risolvere in un secondo momento, è importante non eliminare accidentalmente risultati simili. Per Per questo motivo, è consigliabile usare matcher con ambito ristretto. Per farlo, scegli corrispondente in modo che Espresso sopprime un determinato risultato solo se soddisfa ciascuno dei seguenti controlli di accessibilità:
- Controlli di accessibilità di un determinato tipo, come quelli che controllano il tocco dimensione target.
- Controlli di accessibilità che valutano un particolare elemento dell'interfaccia utente, ad esempio un pulsante.
L'ATF definisce diversi matcher
per stabilire quali risultati mostrare nei test del caffè espresso. Le seguenti
esempio elimina i risultati dei controlli relativi a un singolo TextView
contrasto di colore dell'elemento. L'ID dell'elemento è countTV
.
Kotlin
AccessibilityChecks.enable().apply { setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck::class.java), matchesViews(withId(R.id.countTV)) ) ) }
Java
AccessibilityValidator myChecksValidator = AccessibilityChecks.enable() .setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck.class), matchesViews(withId(R.id.countTV))));