Notes de version d'Axe DevTools Mobile du 27 mars 2024
27 mars 2024
Versions des composants
- axe-devtools-android v5.3.0
- Plugin Appium axeDevToolsMobile v2.0.0
Quoi de neuf ?
Appium
- Changement important - Sur la base des retours des clients, nous avons apporté les modifications suivantes pour rendre notre plugin Appium plus facile à utiliser.
- Il n'est plus nécessaire d'utiliser la méthode
page sourcedu pilote Appium pour initier un scan d'accessibilité. Vous utiliserez désormais la fonctionnalitéexecute scriptdu pilote. Cela signifie que vous avez la liberté d'utiliser la méthodepage sourceà d'autres fins dans vos tests Appium. Veuillez noter : Lorsque vous exécutez notre script, nous récupérons automatiquement la source de la page. Si vous avez déjà récupéré la source de la page pendant votre test, transmettez-la lors de l'exécution de notre script pour éviter de la récupérer deux fois. - Vous n'avez plus besoin de définir une capacité pour le
key. Vous transmettrez plutôt votre clé API à notre script. - Voir le guide de migration pour mettre à jour de la v1.0.0 à la v2.0.0.
- Vous débutez ? Voir la documentation Appium pour les instructions de configuration et les exemples.
- Il n'est plus nécessaire d'utiliser la méthode
Corrections de bugs
Android
- Correction d'un problème où la sauvegarde des résultats localement à partir de tests automatisés ne fonctionnait pas avec la version 8 de Gradle ou supérieure.
Problèmes connus
Si vous rencontrez l'un des problèmes ci-dessous, veuillez nous contacter à helpdesk@deque.com ou support.deque.com. Nous pourrons alors vous informer une fois résolu ou vous fournir une solution de contournement identifiée si aucune n'est listée.
- Les tests automatisés Axe DevTools Mobile fonctionnent sur les applications natives iOS, Android natives et React Native. Veuillez contacter votre représentant Deque pour des solutions de tests d'accessibilité sur votre pile technologique.
- Bien que vous puissiez obtenir certains résultats à partir de vues web ou de PDF rendus, nous recommandons fortement d'effectuer des tests en utilisant Axe DevTools pour le Web ou Axe Monitor pour les tests d'accessibilité web les plus complets.
Axe DevTools Mobile pour iOS
Erreur dans le projet Analyzer & test par Bundle ID en 2.8.1
La fonctionnalité lors du test d'une application par identifiant de bundle était défaillante dans la version 2.8.1, ce qui a entraîné une erreur intitulée « Chemin de l'application cible non spécifié via la configuration du test : ... ». Mettez à jour vers la 2.8.2 ou la dernière version pour résoudre l'erreur. Mettez à jour vers la dernière version dans le projet Analyzer iOS.
Les vues hors écran peuvent afficher des résultats pour les applications SwiftUI testées sous iOS 17
Avec la version 2.8.0 (Voir les notes de version), les résultats ne sont plus signalés sur les vues qui ne sont pas visibles, y compris hors écran ou cachées par une autre vue. Nous avons découvert que dans les applications SwiftUI testées sous iOS 17, certains résultats s'affichent encore. (#1383)
Règle de support du type dynamique ne fonctionnant pas avec le simulateur iOS 15 Pro
Un problème empêche la règle de support du type dynamique de fonctionner sur le simulateur iPhone 15 Pro. Si vous êtes opté pour la règle de support du type dynamique, vous ne pourrez pas la tester en utilisant un simulateur iPhone 15 Pro. Un bug a été soumis à Apple.
Règles concernant les contrôles imbriqués
En améliorant nos règles, nous avons constaté que dans XCTest, les contrôles imbriqués ne sont pas retournés dans l'arbre d'accessibilité. Un bug a été soumis à Apple. (#1110)
Faux positif : dans la vue de défilement, ActiveControlName
Nous travaillons activement sur des correctifs pour les faux positifs suivants et mettrons à jour cette liste au fur et à mesure des corrections.
In Scroll View
Peut signaler des problèmes pour le texte dans les éléments se comportant comme des bannières. Pour rendre ces éléments accessibles à ceux qui nécessitent un texte plus grand, utilisez UILargeContentViewer. (#622)
ActiveControlName
Si une UIImageView a un `accessibilityIdentifier` défini mais n'est pas focalisable par VoiceOver, et qu'elle a des contrôles focalisables imbriqués, ActiveControlName peut signaler un faux positif sur la UIImageView. Retirer le `accessibilityIdentifier` résout le problème. Un bug a été soumis à Apple. (#1226)
Faux négatif : Image View Name, texte focalisable dans iOS 13 à iOS 14.8.1
Nous travaillons activement sur des correctifs pour les faux négatifs suivants et mettrons à jour cette liste au fur et à mesure des corrections.
Image View Name
Si une UIImageView a un `accessibilityIdentifier` défini mais n'est pas focalisable par VoiceOver, ImageViewName peut signaler un faux négatif sur la UIImageView. Retirer le `accessibilityIdentifier` résout le problème. Un bug a été soumis à Apple. (#1226)
Focusable Text
Les éléments marqués comme non-accessibles peuvent signaler des résultats incorrects en raison d'un bug dans le framework d'Apple.
Axe DevTools Mobile pour Android
Crash lors de l'utilisation de Proguard
Si votre build de debug ou de test utilise Proguard, suivez les étapes pour ignorer Deque dans vos paramètres Proguard.
Crash lorsque `minifiedEnabled` est activé
Si vous minimisez votre build, vous verrez un crash avec un journal d'erreur indiquant qu'un adaptateur n'a pas pu être trouvé lors de la tentative de connexion à la bibliothèque Axe DevTools. Désactivez la minification pour vos builds de debug avec Axe DevTools implémenté. (#729)
Les builds avec r8 activé génèrent une erreur
Un build avec r8 activé peut tenter de minimiser la bibliothèque axeDevTools, ce qui entraîne une erreur similaire à :
Caused by: java.lang.NullPointerException: throw with null exception at g.b.b.a$a.a(Unknown Source:1) at g.b.b.a$a.a(Unknown Source:0) at g.b.b.a.a(AccessToken.java:190)To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
keep class com.deque.** { *; }
Message d'erreur similaire à :
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
ou : No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Si vous rencontrez une erreur semblable à `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` ou `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, veuillez vous référer à Compose setTestTag API.
Tableau de bord Axe DevTools Mobile
Capture d'écran manquante
Si la capture d'écran est absente de la page des détails de l'analyse, votre application peut empêcher la prise de captures d'écran. Souvent, c'est pour des raisons de sécurité dans votre application de production. Envisagez de supprimer cette exigence pour votre version de test afin de permettre une fonctionnalité complète dans le Tableau de bord Axe DevTools Mobile.
Certains noms d'analyse Android ne sont pas formatés
Certains noms d'analyse Android qui sont par défaut le titre de l'écran apparaîtront comme le nom complet de la classe, y compris l'identifiant de bundle. Dans une future version, cela sera résolu afin que le titre de l'écran soit formaté en un nom plus lisible. Comme solution de contournement, vous pouvez définir le nom de l'analyse depuis le tableau de bord ou les frameworks. (#1643)
Axe DevTools Mobile pour Appium
Faux Positif : Nom de Vue Active
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié un faux positif pour le Nom de Vue Active lors de l'utilisation du labeledBy pour fournir une étiquette à un élément de bouton. Nous explorons des solutions et prévoyons un correctif dans une future version.
React Native & .NET MAUI : Étiquette Dans le Nom & Étiquette Au Début
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié que les règles Étiquette Dans le Nom & Étiquette Au Début ne peuvent pas s'exécuter pour les applications construites avec React Native. Nous explorons des solutions et prévoyons un correctif dans une future version.
React Native : Inspecter la Hiérarchie de Vue Affichant l'Écran Précédent
Parfois, la propriété source de page Appium nécessite un temps supplémentaire pour être mise à jour entre les analyses. Si cela se produit, vous verrez la hiérarchie de vues de l'écran précédent lors de l'utilisation de la fonction d'inspection sur le tableau de bord. Pour corriger cela, ajoutez un petit délai avant d'appeler l'API source de page pour déclencher l'analyse d'accessibilité. Exemple :
await driver.pause(1000);
const result = await driver.getPageSource();
