Les tests d'accessibilité vous permettent de découvrir votre application du point de vue de l'ensemble de votre base d'utilisateurs, y compris ceux qui ont des besoins en termes d'accessibilité. Cette forme de les tests peuvent révéler des opportunités pour rendre votre application plus performante et polyvalente.
Cette page explique comment ajouter des vérifications d'accessibilité à votre interface Espresso existante. tests. Pour en savoir plus sur l'accessibilité, consultez la page Accessibilité .
Activer les vérifications
Vous pouvez activer et configurer les tests d'accessibilité à l'aide de la classe AccessibilityChecks
:
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(); } }
Par défaut, les vérifications s'exécutent lorsque vous effectuez une action de vue définie dans ViewActions
. Chaque vérification inclut la vue sur laquelle l'action est effectuée, ainsi que toutes les vues descendantes. Vous pouvez évaluer la hiérarchie complète des vues d'un écran lors de chaque vérification en transmettant true
à setRunChecksFromRootView()
, comme indiqué dans l'extrait de code suivant :
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
Supprimer les sous-ensembles de résultats
Une fois qu'Espresso a effectué des vérifications d'accessibilité sur votre application, vous verrez peut-être des options d'amélioration de l'accessibilité dont vous ne pourrez pas vous occuper immédiatement. Pour éviter que les tests Espresso échouent continuellement en raison de ces résultats, vous pouvez les ignorer temporairement. Le test d'accessibilité
Framework (ATF) fournit cette fonctionnalité à l'aide de la méthode
setSuppressingResultMatcher()
qui indique à Espresso de supprimer tous les résultats satisfaisant à la
une expression de correspondance.
Lorsque vous modifiez votre application pour améliorer un aspect de l'accessibilité, il est utile qu'Espresso affiche des résultats pour le plus grand nombre possible d'autres aspects de l'accessibilité. Pour cette raison, il est préférable de ne supprimer que des opportunités d'amélioration connues spécifiques.
Lorsque vous supprimez temporairement les résultats des tests d'accessibilité que vous prévoyez de traiter plus tard, il est important de ne pas supprimer accidentellement des résultats similaires. Pour cette raison, utilisez des expressions de correspondance restreintes. Pour ce faire, choisissez matcher Ainsi, Espresso ne supprime un résultat donné que s'il répond à chacun des critères les vérifications d'accessibilité suivantes:
- Les vérifications d'accessibilité d'un certain type, telles que celles qui vérifient la taille des cibles tactiles.
- Les vérifications de l'accessibilité d'un élément d'interface particulier, comme un bouton.
L'ATF définit plusieurs outils de mise en correspondance
pour vous aider à définir les résultats à afficher dans vos tests Espresso. L'exemple suivant supprime les résultats des vérifications liées au contraste des couleurs d'un seul élément TextView
. L'ID de l'élément est 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))));