Notas de la versión de Axe DevTools Mobile del 27 de marzo de 2024
27 de marzo de 2024
Versiones de los componentes
- axe-devtools-android v5.3.0
- Plugin de axeDevToolsMobile para Appium v2.0.0
¿Qué hay de nuevo?
Appium
- Cambio importante: basándonos en los comentarios de los clientes, hemos realizado los siguientes cambios para facilitar el uso de nuestro plugin para Appium.
- Ya no es necesario usar el método
page sourcedel controlador de Appium para iniciar un escaneo de accesibilidad. Ahora utilizarás la funcionalidadexecute scriptdel controlador. Esto significa que tienes la libertad de usar el métodopage sourcepara otros propósitos en tus pruebas con Appium. Por favor nota: cuando ejecutes nuestro script, recuperaremos automáticamente la fuente de la página. Si ya has recuperado la fuente de la página durante tu prueba, pásala al ejecutar nuestro script para evitar recuperarla dos veces. - Ya no necesitas establecer una capacidad para el
key. En su lugar, pasarás tu clave API a nuestro script. - Consulta la guía de migración para actualizar de v1.0.0 a v2.0.0.
- ¿Estás comenzando? Consulta la documentación de Appium para instrucciones de configuración y ejemplos.
- Ya no es necesario usar el método
Correcciones de errores
Android
- Se corrigió un problema donde no funcionaba guardar resultados localmente desde pruebas automatizadas con la versión 8 o superior de Gradle.
Problemas conocidos
Si experimentas alguno de los siguientes problemas, por favor contáctanos en helpdesk@deque.com o support.deque.com. Entonces podremos notificártelo una vez resuelto o sobre un posible arreglo si no se ha listado ninguno.
- Las pruebas automatizadas de Axe DevTools Mobile se ejecutan en aplicaciones nativas de iOS, Android nativo y React Native. Por favor contacta a tu representante de Deque para soluciones de pruebas de accesibilidad en tu stack tecnológico.
- Aunque puedes obtener algunos resultados de vistas web o PDFs renderizados, te recomendamos altamente realizar pruebas usando Axe DevTools para Web o Axe Monitor para las pruebas de accesibilidad más completas para la web.
Axe DevTools Mobile para iOS
Error en el Proyecto Analyzer y Pruebas por ID de Bundle en 2.8.1
La funcionalidad al probar una aplicación por el identificador de paquete quedó rota en la versión 2.8.1, lo que resultó en un error titulado "No se especificó la ruta de la aplicación objetivo a través de la configuración de prueba: ...". Actualiza a la 2.8.2 o a la última versión para resolver el error. Actualiza a la última dentro del proyecto iOS Analyzer.
Las vistas fuera de pantalla pueden mostrar resultados para aplicaciones SwiftUI probadas en iOS 17
Con la versión 2.8.0 (Ver Notas de la Versión), los resultados ya no se informan sobre vistas que no son visibles, incluidas las fuera de pantalla o las ocultas por otra vista. Hemos descubierto que en aplicaciones SwiftUI probadas en iOS 17, algunos resultados aún se muestran. (#1383)
La regla de Soporte de Tipografía Dinámica no funciona con el simulador iOS 15 Pro
Hay un problema que afecta al simulador del iPhone 15 Pro, que impide que la regla de Soporte de Tipografía Dinámica se ejecute. Si estás inscrito en la regla de Soporte de Tipografía Dinámica, no podrás probarla usando un simulador iPhone 15 Pro. Se ha presentado un error en Apple.
Reglas contra Controles Anidados
Al buscar una mejora en nuestras reglas, encontramos que en XCTest, los controles anidados no se devuelven en el árbol de accesibilidad. Se ha presentado un error en Apple. (#1110)
Falso positivo: en Vista de Desplazamiento, ActiveControlName
Estamos trabajando activamente en correcciones para los siguientes falsos positivos y actualizaremos esta lista a medida que las correcciones se publiquen.
In Scroll View
Puede informar problemas con el texto dentro de elementos que se comportan como pancartas. Para hacer que estos elementos estén disponibles para aquellos que requieren texto más grande, usa UILargeContentViewer. (#622)
ActiveControlName
Si un UIImageView tiene un `accessibilityIdentifier` configurado pero no es accesible por VoiceOver, y tiene controles focalizables anidados dentro de él, ActiveControlName puede reportar un falso positivo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un error en Apple. (#1226)
Falso negativo: Nombre de la Vista de Imagen, Texto Focalizable en iOS 13 hasta iOS 14.8.1
Estamos trabajando activamente en correcciones para los siguientes falsos negativos y actualizaremos esta lista a medida que las correcciones se publiquen.
Image View Name
Si un UIImageView tiene un `accessibilityIdentifier` configurado pero no es accesible por VoiceOver, ImageViewName puede reportar un falso negativo en el UIImageView. Eliminar el `accessibilityIdentifier` resuelve el problema. Se ha presentado un error en Apple. (#1226)
Focusable Text
Los elementos marcados como no accesibles pueden reportar resultados incorrectos debido a un error en el framework de Apple.
Axe DevTools Mobile para Android
Crash al usar Proguard
Si tu compilación de depuración o prueba está utilizando Proguard, sigue los pasos para ignorar Deque en tus configuraciones de Proguard.
Crash cuando `minifiedEnabled` está configurado como true
Si estás minimizando tu compilación, verás un crash con un registro de error informando que no se pudo encontrar un adaptador al intentar iniciar sesión en la biblioteca de Axe DevTools. Desactiva la minificación para tus compilaciones de depuración con Axe DevTools implementado. (#729)
Las compilaciones con r8 habilitado generan un error
Una compilación con r8 habilitado puede intentar minimizar la biblioteca axeDevTools, lo que resulta en un error similar 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.** { *; }
Mensaje de error similar a:
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
o: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Si encuentras un error como `Se esperaba exactamente '1' nodo pero se encontraron '2' nodos que cumplen: (isRoot)` o `No se ha inicializado ninguna Vista, ¿has llamado a AxeDevToolsCompose.setComposeTestRule()?`, por favor consulta la API Compose setTestTag.
Dashboard de Axe DevTools Mobile
Captura de pantalla faltante
Si la captura de pantalla falta en la página de detalles del escaneo, tu aplicación puede estar impidiendo que se tomen capturas de pantalla. A menudo, esto es por razones de seguridad en tu aplicación de producción. Considera eliminar este requisito para tu versión de pruebas para permitir la funcionalidad completa en el Dashboard de Axe DevTools Mobile.
Algunos nombres de escaneos de Android están sin formato
Algunos nombres de escaneos de Android que por defecto llevan el título de la pantalla aparecerán como el nombre completo de la clase, incluyendo el identificador del paquete. En una versión futura, esto se resolverá para que el título de la pantalla se dé un formato más legible. Como solución temporal, puedes establecer el nombre del escaneo desde el dashboard o los frameworks. (#1643)
Axe DevTools Mobile para Appium
Falso Positivo: Nombre de Vista Activa
Debido a limitaciones en la información disponible a través de la plataforma Appium, hemos identificado un falso positivo para el Nombre de Vista Activa al usar la labeledBy propiedad para proporcionar una etiqueta para un elemento de botón. Estamos explorando soluciones y esperamos una corrección en una versión futura.
React Native y .NET MAUI: Etiqueta En Nombre y Etiqueta Al Frente
Debido a limitaciones en la información disponible a través de la plataforma Appium, hemos identificado que las reglas Etiqueta En Nombre y Etiqueta Al Frente no pueden ejecutarse para aplicaciones construidas con React Native. Estamos explorando soluciones y esperamos una corrección en una versión futura.
React Native: Inspeccionar Jerarquía de Vistas Mostrando Pantalla Anterior
A veces, la propiedad source de la página de Appium necesita más tiempo para actualizarse entre escaneos. Si esto ocurre, verás la jerarquía de vista de una pantalla anterior al usar la función de inspección en el dashboard. Para solucionar esto, añade un pequeño retraso antes de llamar a la API de source de la página para solicitar el escaneo de accesibilidad. Ejemplo:
await driver.pause(1000);
const result = await driver.getPageSource();
