Scan automatique avec le pilote UIAutomator2

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Vue d'ensemble

Le scan automatique surveille en continu votre application Android pour détecter les problèmes d'accessibilité pendant l'exécution de vos tests. Au lieu de scanner un écran à la fois, il capture des instantanés d'accessibilité à chaque changement d'interface utilisateur et les traite tous à la fin.

tip

Si vous avez besoin de plus de contrôle granulaire dans vos tests, consultez Tests ciblés avec Appium.

Comment ça fonctionne

  1. Démarrez le scan automatique au début de votre test
  2. Interagissez avec votre application — chaque changement d'écran est capturé automatiquement
  3. Arrêtez le scan automatique — les résultats sont traités et transférés sur votre machine locale

Les résultats sont enregistrés dans build/AxeDevToolsMobileResults/ dans votre répertoire de projet.

Commencer

Démarrez le serveur Appium comme d'habitude :

appium

Configurez vos tests

Depuis vos scripts d'automatisation Appium, ajoutez les capacités requises pour Axe DevTools Mobile.

Nom Type Description
automationName String Définissez sur 'AxeUiAutomator2' pour utiliser le pilote avec Axe DevTools Mobile intégré pour les scans d'accessibilité.
appPackage String Le nom du package de l'application testée. Notez que appPackage fait partie du pilote UiAutomator2 ; vous pourriez déjà l'avoir configuré.

Démarrer le scan automatique

Avant de commencer votre suite de tests, démarrez le scan automatique en appelant l'API axeStartAutoScanSession :

beforeAll(async () => { // Start auto scan 
await driver.executeScript('mobile: axeStartAutoScanSession', [{ 
  axeMobileApiKey: 'your-api-key',
  axeProjectId: 'your-devhub-project-id',
  axeAccountURL: 'https://axe.deque.com',
  axeHtmlReportPath: './reports/accessibility' // optional (local dir; default 'build/AxeDevToolsMobileResults')
  ... 
  }]); 
})

Arrêter le scan automatique

Juste avant la fin de la suite de tests, appelez l'API axeStopAutoScanSession pour arrêter le scan automatique et agréger et télécharger les résultats.

// Stop - the report is pulled to axeHtmlReportPath on the local machine
const result = await driver.executeScript('mobile: axeStopAutoScanSession');

// result.localDirectory -> local directory the report was saved into
note

Les extraits de code ci-dessus utilisent JavaScript. Consultez Exemples de code de scan automatique avec UIAutomator2 pour des exemples plus complets dans plusieurs langages de programmation.

Interprétation des résultats

Résumé de la console

Une fois la suite de tests terminée, vous pouvez trouver un résumé dans la fenêtre de console où le serveur Appium fonctionne.

---- Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: Home Page
  Issues: 6
  Issues by rule:
    - TouchSizeWcag: 3
    - LabelAtFront: 1
    - LabelInName: 1
    - FocusableText: 1
    
Scan 35:
  Screen: Wikipedia Alpha
  Issues: 5
  Issues by rule:
    - LabelAtFront: 1
    - LabelInName: 1
    - TouchTargetSpacing: 1
    - TouchSizeWcag: 1
    - ColorContrast: 1
    
Total Scans: 35
❌ Total Issues: 123
---------------------------------------------------

Fichiers de sortie

Lorsque la session de scan automatique s'arrête, un rapport HTML est généré à build/AxeDevToolsMobileResults/. Le rapport contient des violations d'accessibilité, des réussites et des recommandations pour chaque écran capturé pendant la session.

Support de scan automatique

Règles

Le scan automatique exécute l'ensemble complet des règles Axe à l'exception de ScreenOrientation et de toutes les règles expérimentales (par exemple NestedActiveControl, NestedElementName, InaccessibleAction). Trouvez des informations détaillées sur ce que nous vérifions dans la Vue d'ensemble des règles pour Android.

Centre de Développeurs

Le balayage automatique télécharge automatiquement vos résultats sur Axe Developer Hub. Si vous souhaitez uniquement enregistrer les résultats localement, configurez axeUploadResults sur false.

Mode Hors Ligne

Si vous n'avez pas d'identifiants cloud, utilisez plutôt la variante hors ligne du pilote avec une clé de licence hors ligne. Installez @axe-devtools/axe-appium3-uiautomator2-driver-offline et passez axeOfflineLicenseKey lors du démarrage de la session.

Référence de Configuration

Propriétés

Paramètre Type Requis Description
axeUploadResults booléen Non Télécharger les résultats vers le Centre de Développeurs
axeMobileApiKey chaîne Oui* Votre clé API Axe DevTools Mobile
axeProjectId chaîne Non ID de projet pour organiser les résultats
axeOfflineLicenseKey chaîne Oui* Clé de licence pour le mode hors ligne (alternative aux identifiants cloud)
axeServerUrl (Obsolète) chaîne Oui URL de backend personnalisée (par ex. axe.company.com), pour cloud privé/sur site uniquement
axeAccountURL chaîne Oui URL de backend personnalisée (par ex. axe.company.com), pour cloud privé/sur site uniquement
axeHtmlReportPath chaîne Non Répertoire de sortie configurable par l'utilisateur pour le rapport HTML et le résumé. Par défaut build/AxeDevToolsMobileResults

*Fournissez soit des identifiants cloud (axeMobileApiKey + axeProjectId + axeAccountURL) ou une axeOfflineLicenseKey.

Désactiver les animations

Obtenez les résultats les plus précis et complets d'Auto Scan en désactivant l'animation. Cela garantira que les écrans sont entièrement rendus lors de la capture. Si les animations ne sont pas désactivées, vous pourriez remarquer :

  • Des analyses en double que vous pensez auraient dû être supprimées
  • Des analyses avec des captures d'écran montrant un état transitoire
  • Un taux de capture d'écran significativement inférieur à celui que vous pourriez attendre

Ajoutez ce qui suit sous capabilities:

capabilities: {
    // ...existing capabilities
    'appium:disableWindowAnimation': true, // disables window animations
  }

Dépannage

Si vous ne voyez pas les analyses apparaître dans Developer Hub, vous devriez vérifier vos journaux pour trouver des indices sur ce qui pourrait être mal ou consulter cette liste de vérification.

  • Assurez-vous que vous utilisez la variable correcte pour votre clé API/licence et votre ID de projet
  • Vérifiez la taille de vos fichiers de sortie. Le téléchargement vers Developer Hub échoue si la taille d'un fichier de résultat dépasse 20MB, bien que tous les résultats soient toujours enregistrés localement et visibles dans le rapport HTML local.

Et ensuite ?

Vous pouvez consulter vos résultats dans Axe Developer Hub. Apprenez comment intégrer Axe DevTools Mobile dans votre pipeline CI/CD. Vous utilisez une plateforme de test basée sur le cloud ? Vous pouvez toujours utiliser Axe DevTools Mobile pour rechercher des problèmes d'accessibilité. Voir Tests automatisés sur les plateformes cloud avec Appium.