Note di Rilascio di Axe DevTools Mobile del 27 marzo 2024
27 marzo 2024
Versioni dei Componenti
- axe-devtools-android v5.3.0
- Plugin Appium di axeDevToolsMobile v2.0.0
Novità?
Appium
- Cambiamento significativo - Basandoci sul feedback dei clienti, abbiamo apportato le seguenti modifiche per rendere il nostro plugin Appium più facile da usare.
- Non richiediamo più di utilizzare il metodo
page sourcedel driver Appium per iniziare una scansione di accessibilità. Ora utilizzerete invece la funzionalitàexecute scriptdel driver. Questo significa che avete la libertà di usare il metodopage sourceper altri scopi nei vostri test Appium. Si prega di notare: Quando eseguite il nostro script, recupereremo automaticamente la sorgente della pagina. Se avete già recuperato la sorgente durante il vostro test, passatecela quando eseguite il nostro script per evitare di recuperarla due volte. - Non è più necessario impostare una capability per il
key. Invece, passerete la vostra chiave API al nostro script. - Consultate la guida alla migrazione per l'aggiornamento da v1.0.0 a v2.0.0.
- Iniziando? Consultate la documentazione di Appium per le istruzioni di configurazione e esempi.
- Non richiediamo più di utilizzare il metodo
Correzioni di Bug
Android
- Risolto un problema per cui il salvataggio dei risultati localmente dai test automatizzati non funzionava con la versione di Gradle 8 o superiore.
Problemi Noti
Se riscontrate uno dei seguenti problemi, contattateci a helpdesk@deque.com o support.deque.com. Saremo in grado di avvisarvi una volta risolto o di un workaround identificato se nessuno è elencato.
- I test automatizzati di Axe DevTools Mobile vengono eseguiti su applicazioni native iOS, Android native e React Native. Si prega di contattare il vostro rappresentante Deque per soluzioni di test di accessibilità sul vostro stack tecnologico.
- Sebbene possiate ottenere alcuni risultati da web view o PDF renderizzati, raccomandiamo vivamente di testare utilizzando Axe DevTools for Web o Axe Monitor per i test di accessibilità più completi sul web.
Axe DevTools Mobile per iOS
Errore nel Progetto Analyzer e Test per ID Bundle in 2.8.1
La funzionalità di testare un'applicazione tramite identificatore di bundle era rotta nella versione 2.8.1 causando un errore intitolato „Percorso dell'applicazione di destinazione non specificato tramite configurazione del test: ...“. Aggiornate alla versione 2.8.2 o alla versione più recente per risolvere l'errore. Aggiornate all'ultima versione nel progetto Analyzer iOS.
Visualizzazioni fuori schermo possono mostrare risultati per app SwiftUI testate in iOS 17
Con la versione 2.8.0 (Visualizza Note di Rilascio), i risultati non sono più riportati per le visualizzazioni che non sono visibili, inclusi fuori schermo o nascosti da un'altra vista. Abbiamo scoperto che nelle applicazioni SwiftUI testate in iOS 17, alcuni risultati vengono ancora mostrati. (#1383)
La regola Supporta Tipo Dinamico non funziona con il simulatore iOS 15 Pro
C'è un problema che coinvolge il simulatore iPhone 15 Pro che impedisce l'esecuzione della regola Supporta Tipo Dinamico. Se siete iscritti alla regola Supporta Tipo Dinamico, non sarete in grado di testarla utilizzando un simulatore iPhone 15 Pro. Un bug è stato segnalato a Apple.
Regole contro i Controlli Annidati
Durante l'esame di un miglioramento per le nostre regole, abbiamo trovato che in XCTest, i controlli annidati non vengono restituiti nell'albero dell'accessibilità. Un bug è stato segnalato a Apple. (#1110)
Falso Positivo: In Scroll View, NomeControlloAttivo
Stiamo lavorando attivamente sulle correzioni per i seguenti falsi positivi e aggiorneremo questo elenco man mano che verranno rilasciati.
In Scroll View
Potrebbe segnalare problemi per il testo all'interno di elementi comportanti come banner. Per rendere questi elementi disponibili a coloro che necessitano di testo più grande, utilizzate UILargeContentViewer. (#622)
ActiveControlName
Se un UIImageView ha un `accessibilityIdentifier` impostato ma non è focalizzabile da VoiceOver, e ha controlli focalizzabili annidati al suo interno, NomeControlloAttivo potrebbe segnalare un falso positivo sull'UIImageView. La rimozione dell'`accessibilityIdentifier` risolve il problema. Un bug è stato segnalato a Apple. (#1226)
Falso Negativo: Nome Vista Immagine, Testo Focalizzabile in iOS dalla 13 alla 14.8.1
Stiamo lavorando attivamente sulle correzioni per i seguenti falsi negativi e aggiorneremo questo elenco man mano che verranno rilasciati.
Image View Name
Se un UIImageView ha un `accessibilityIdentifier` impostato ma non è focalizzabile da VoiceOver, NomeVistaImmagine potrebbe segnalare un falso negativo sull'UIImageView. La rimozione dell'`accessibilityIdentifier` risolve il problema. Un bug è stato segnalato a Apple. (#1226)
Focusable Text
Gli elementi contrassegnati come elementi non accessibili potrebbero riportare risultati errati a causa di un bug nel framework di Apple.
Axe DevTools Mobile per Android
Crash quando si utilizza Proguard
Se il vostro debug o test build utilizza Proguard, seguite i passaggi per ignorare Deque nelle vostre impostazioni di Proguard.
Crash quando `minifiedEnabled` è impostato su true
Se minimizzate il vostro build, vedrete un crash con un log di errore che riporta che un adattatore non è stato trovato quando si tenta di effettuare il login alla libreria Axe DevTools. Disabilitate la minimizzazione per i vostri debug build con Axe DevTools implementato. (#729)
Le build con r8 abilitato generano un errore
Un build con r8 abilitato potrebbe tentare di ridurre la libreria axeDevTools causando un errore simile a:
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.** { *; }
Messaggio di errore simile a:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
oppure: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Se riscontri un errore del tipo `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` o `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, ti preghiamo di fare riferimento a API Compose setTestTag.
Dashboard Mobile di Axe DevTools
Screenshot Mancante
Se lo screenshot manca dalla pagina dei dettagli della scansione, la tua app potrebbe impedire la cattura degli screenshot. Spesso, questo avviene per motivi di sicurezza nella tua applicazione di produzione. Considera di rimuovere questo requisito nel tuo build di test per permettere il pieno funzionamento nella Dashboard Mobile di Axe DevTools.
Alcuni nomi di scansione Android non sono formattati
Alcuni nomi di scansione Android che di default corrispondono al titolo dello schermo appariranno come il nome completo della classe incluso l'identificativo del pacchetto. In una versione futura, questo sarà risolto in modo che il titolo dello schermo sia formattato in un nome più leggibile. Come soluzione temporanea, puoi impostare il nome della scansione dal dashboard o dai framework. (#1643)
Axe DevTools Mobile per Appium
Falso Positivo: Nome Vista Attiva
A causa delle limitazioni delle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato un falso positivo per Nome Vista Attiva quando si utilizza la labeledBy proprietà per fornire un'etichetta per un elemento bottone. Stiamo esplorando soluzioni e ci aspettiamo una correzione in una futura versione.
React Native & .NET MAUI: Etichetta Nel Nome & Etichetta All'Inizio
A causa delle limitazioni delle informazioni disponibili tramite la piattaforma Appium, abbiamo identificato che le regole Etichetta Nel Nome & Etichetta All'Inizio non possono essere eseguite per le app costruite con React Native. Stiamo esplorando soluzioni e ci aspettiamo una correzione in una futura versione.
React Native: Ispezione della Gerarchia delle Viste Mostra Schermata Precedente
A volte la proprietà del source della pagina Appium ha bisogno di più tempo per essere aggiornata tra le scansioni. Se succede, vedrai la gerarchia delle viste di una schermata precedente quando utilizzi la funzione di ispezione sul dashboard. Per risolvere, aggiungi un piccolo timeout prima di chiamare l'API del source della pagina per avviare la scansione di accessibilità. Esempio:
await driver.pause(1000);
const result = await driver.getPageSource();
