Analyse automatique avec le pilote XCUITest

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

Aperçu

L'analyse automatique capture automatiquement des instantanés d'accessibilité à mesure que vous naviguez dans votre application iOS. Au lieu de déclencher manuellement des analyses sur chaque écran, vous démarrez une session d'analyse automatique, interagissez avec l'application, puis arrêtez la session pour générer un rapport.

tip

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

Comment ça fonctionne

  1. Démarrer une session d'analyse automatique (avec vos identifiants)
  2. Naviguer dans votre application — les écrans sont analysés automatiquement
  3. Arrêter la session — un rapport HTML est généré à ~/AxeDevToolsMobileResults/

Démarrage

Démarrez le serveur Appium comme d'habitude :

appium

Configurer vos tests

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

Nom Type Description
automationName String Définissez sur "AxeXCUITest" pour utiliser le pilote avec axe DevTools Mobile intégré pour exécuter des analyses d'accessibilité.
bundleId String L'identifiant du bundle de l'application sous test. Notez que bundleId fait partie du pilote XCUITest ; il se peut que cela soit déjà configuré.

Démarrer l'analyse automatique

Avant de commencer votre suite de tests, démarrez l'analyse 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 l'analyse automatique

Juste avant la fin de la suite de tests, appelez l'API axeStopAutoScanSession pour arrêter l'analyse automatique, 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. Voir Exemples de code d'analyse automatique avec XCUITest pour des exemples plus complets dans plusieurs langages de programmation.

Interprétation des résultats

Résumé de la console

Un résumé de la console similaire à celui-ci est imprimé lorsque la suite de tests se termine :

----  Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: HomeScreen
  Issues: 3
  Issues by rule:
    - ColorContrast: 2
    - TouchTargetSize: 1

Scan 2:
  Screen: SettingsScreen
  Issues: 0

Total Scans: 2
❌ Total Issues: 3
----------------------------------------------------

Un test réussi affichera Axe Clean - 0 Issues Found 🎉 dans la console.

Fichiers de sortie

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

Support de l'analyse automatique

Règles

L'analyse automatique exécute l'ensemble complet de règles Axe à l'exception de ScreenOrientation, SupportsDynamicType, et de toutes les règles expérimentales. Trouvez des informations détaillées sur ce que nous vérifions dans le Aperçu des règles pour iOS.

Hub développeur

Auto Scan télécharge automatiquement vos résultats sur 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 d'identifiants cloud, utilisez à la place une clé de licence hors ligne :

// JavaScript example
await driver.execute('mobile: axeStartAutoScanSession', {
  axeOfflineLicenseKey: 'YOUR_OFFLINE_LICENSE_KEY'
});

// ... navigate through the app ...

await driver.execute('mobile: axeStopAutoScanSession', {});

Référence de configuration

Propriétés

Paramètre Type Requis Description
axeUploadResults Booléen Optionnel Téléchargez les résultats sur le tableau de bord (par défaut : true)
axeMobileApiKey Chaîne Requis* Clé API pour la numérisation basée sur le cloud
axeProjectId Chaîne Optionnel ID de projet pour organiser les résultats
axeOfflineLicenseKey Chaîne Requis* Clé de licence pour le mode hors ligne (alternative aux identifiants cloud)
axeServerUrl (Obsolète) chaîne Oui URL personnalisée du backend (par exemple, axe.company.com), pour sur site/cloud privé uniquement
axeAccountURL chaîne Oui URL personnalisée du backend (par exemple, axe.company.com), pour sur site/cloud privé uniquement
axeHtmlReportPath chaîne Non Répertoire de sortie configurable par l'utilisateur pour le rapport HTML et le résumé. Défaut : ???

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

Bonnes pratiques

Désactiver les animations

Obtenez les résultats les plus précis et complets de l'Auto Scan en désactivant les animations. Cela garantira que les écrans sont entièrement rendus lors de la capture. Ajoutez ce qui suit sous capabilities:

  capabilities: {
    // ...existing capabilities
    'appium:reduceMotion': true, // enables iOS "Reduce Motion" accessibility setting
  }

Dépannage

  • Vous voyez les résultats localement, mais pas dans le Developer Hub ? Le téléchargement vers le Developer Hub échoue si la taille d'un fichier de résultat dépasse 20MB, bien que tous les résultats soient toujours sauvegardés localement et affichés dans le rapport HTML local.
  • Vérifiez les journaux. Cherchez les AutoScan messages dans la console.

Et ensuite ?

Vous pouvez consulter vos résultats dans Axe Developer Hub. Apprenez à 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é : Intégrer avec les plateformes cloud.