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 d'un contrôle plus précis dans vos tests, consultez Tests ciblés avec Appium.

Comment ça fonctionne

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

Les résultats sont enregistrés dans build/AxeDevToolsMobileResults/ dans le répertoire de votre 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 l'avez peut-être déjà configuré.

Démarrer le scan automatique

Avant de démarrer votre suite de tests, commencez Auto Scan 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 Auto Scan, 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 Auto Scan s'arrête, un rapport HTML est généré à build/AxeDevToolsMobileResults/. Le rapport contient les violations d'accessibilité, les réussites et les recommandations pour chaque écran capturé lors de la session.

Support de scan automatique

Règles

Auto Scan 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 le Vue d'ensemble des règles pour Android.

Centre de Développeurs

Auto Scan télécharge automatiquement vos résultats vers Axe Developer Hub. Si vous souhaitez uniquement enregistrer les résultats localement, définissez axeUploadResults sur false.

Mode Hors Ligne

Si vous n'avez pas de justificatifs cloud, utilisez la variante hors ligne du pilote avec une clé de licence hors ligne à la place. 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é (par exemple axe.company.com), pour cloud privé/sur site uniquement
axeAccountURL chaîne Oui URL de backend personnalisé (par exemple 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, c'est build/AxeDevToolsMobileResults

*Fournir des justificatifs cloud soit (axeMobileApiKey + axeProjectId + axeAccountURL) ou un 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 voir vos résultats dans Axe Developer Hub. Découvrez comment intégrer Axe DevTools Mobile dans votre pipeline CI/CD. Utilisez-vous une plateforme de test basée sur le cloud ? Vous pouvez toujours utiliser Axe DevTools Mobile pour rechercher des problèmes d'accessibilité. Consultez Tests automatisés sur les plateformes cloud avec Appium.