Escaneo Automático
Identifique automáticamente problemas de accesibilidad mientras sus pruebas de UI existentes interactúan con su aplicación
Visión General
El Escaneo Automático identifica automáticamente problemas de accesibilidad mientras sus pruebas existentes de Espresso o UIAutomator interactúan con su aplicación, sin necesidad de agregar llamadas de escaneo individuales ni modificaciones a sus pruebas. Escaneo Automático escucha los cambios de pantalla y escanea cada pantalla única automáticamente.
Si necesitas un control más granular en tus pruebas, consulta Pruebas Dirigidas.
Cómo funciona
Nuestro plugin Gradle reemplazará tu runner de instrumentación JUnit con nuestro runner personalizado. Esto nos permite observar tu suite de pruebas y procesar tus resultados en el momento adecuado. Obtenga el plugin Gradle de AxeDevToolsMobile.
Cuando la prueba termina, Auto Scan procesa tus resultados y guarda un resultado JSON para cada pantalla, así como un informe HTML autocontenido en AxeDevToolsMobileResults, y opcionalmente sube los resultados a Developer Hub.
Comenzando
-
Algunos valores deben configurarse para autenticar a los usuarios. Recomendamos agregar estos valores como variables de entorno en su computadora y en sus pipelines de CI/CD para mantener sus claves seguras.
Groovy (
build.gradle):axeDevTools { axeMobileApiKey = '' axeAutoScanMode = true axeProjectId = '' }Kotlin DSL (
build.gradle.kts):axeDevTools { axeMobileApiKey = "" axeAutoScanMode = true axeProjectId = "" } -
Si estás usando nuestras herramientas y prefieres obtener resultados en modo offline, deberás establecer un valor para el
axeOfflineLicenseKeyen lugar deaxeMobileApiKeyyaxeProjectId.Groovy (
build.gradle):axeDevTools { axeOfflineLicenseKey = '' axeAutoScanMode = true }Kotlin DSL (
build.gradle.kts):axeDevTools { axeOfflineLicenseKey = "" axeAutoScanMode = true }
Interpretación de Resultados
Resumen de Consola
Una vez que la suite de pruebas termine, podrá ver algo de post-procesamiento en sus registros de Gradle, seguido de un resumen.
HTML rule report written to: /Users/user/Documents/workspace/android/project-name/app/build/reports/AxeDevToolsMobileResults/AxeDevToolsMobile_1773882427726.html
---- 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
---------------------------------------------------Archivos de Salida
Auto Scan genera un informe HTML autocontenido con capturas de pantalla, datos de jerarquía de vistas e información detallada sobre los problemas. Los resultados JSON individuales se guardan en el directorio axe-test-data. Todos los archivos se guardan en el directorio app/build/reports/AxeDevToolsMobileResults.
| Archivo | Formato |
|---|---|
AxeDevToolsReport.html |
Informe HTML interactivo con problemas por pantalla, detalles de elementos, niveles de impacto |
<timestamp>-axe-node-hierarchy.json |
Resultado JSON individual - 1 por cada escaneo realizado |
Si prefieres guardar tus resultados en un directorio específico, puedes indicarlo en el bloque de configuración del plugin en tu archivo build.gradle.
axeDevTools {
axeMobileApiKey = "AXE_API_KEY"
axeProjectId = "DEVHUB_PROJECT_ID"
axeAutoScanMode = true
axeHtmlReportPath =
"User/Desktop/reports/AxeDevToolsMobileResults"
axeAccountUrl = "https://axe.deque.com"
Soporte de Escaneo Automático
Reglas
Auto Scan ejecuta el conjunto completo de reglas de Axe con la excepción de ScreenOrientation y todas las reglas experimentales (por ejemplo, NestedActiveControl, NestedElementName, InaccessibleAction). Encuentra información detallada sobre lo que verificamos en el Resumen de Reglas para Android.
Centro de Desarrolladores
Auto Scan sube automáticamente tus resultados a Axe Developer Hub. Si solo quieres guardar los resultados localmente, configura axeUploadResults en false.
Referencia de Configuración
Propiedades
| Propiedad | Tipo | Requerido | Detalles |
|---|---|---|---|
axeAutoScanMode |
Booleano | Requerido | Por defecto es false. Debes configurarlo en true para habilitar el autoescaneo. |
axeMobileApiKey |
Cadena | Obligatorio* | Una clave de API de Axe DevTools Mobile de axe.deque.com es requerido si axeUploadResults=true |
axeOfflineLicenseKey |
Cadena | Obligatorio* | Solo requerido para modo sin conexión, cuando axeUploadResults=false |
axeUploadResults |
Booleano | Opcional | Por defecto es true. Configúralo en false solo para resultados locales |
axeProjectId |
Cadena | Opcional | Un ID de proyecto de Developer Hub es requerido si axeUploadResults=true |
axeServerUrl (Obsoleto) |
Cadena | Opcional | URL del backend personalizado (por ejemplo, axe.company.com), solo para nube privada/on-prem |
axeAccountUrl |
Cadena | Opcional | URL del backend personalizado (por ejemplo, axe.company.com), solo para nube privada/on-prem |
axeHtmlReportPath |
Cadena | Opcional | Directorio de salida configurable por el usuario para el informe HTML y el resumen. Por defecto es build/reports/AxeDevToolsMobileResults |
axeOfflineLicenseKey |
Cadena | Opcional | Solo requerido para modo sin conexión, cuando axeUploadResults=false |
* Nota: Debes configurar ya sea el axeMobileApiKey o el axeOfflineLicenseKey en tu configuración. La clave de API es necesaria a menos que uses el modo offline. La clave de licencia offline es necesaria solo para el modo offline.
Mejores Prácticas
Desactivar Animaciones
Obtén los resultados más precisos y completos de Auto Scan desactivando las animaciones. Esto garantizará que las pantallas se rendericen completamente cuando se capturen. Si las animaciones no están desactivadas, es posible que notes:
- Escaneos duplicados que creías que deberían haber sido eliminados
- Escaneos con capturas de pantalla que muestran un estado transitorio
- Una tasa de captura de pantalla significativamente menor de lo que podrías esperar
Solución de Problemas
Si no ves que los escaneos aparezcan en Developer Hub, deberías revisar tus registros en busca de pistas sobre lo que podría estar mal o seguir esta lista de verificación.
- Verifica que
axeAutoScanMode=trueen tu bloque de configuración deaxeDevTools - Verifica que pudiste obtener nuestra dependencia de Maven Central
- Asegúrate de estar usando la variable correcta para tu Clave de API/Licencia y el ID del Proyecto
- Revisa el tamaño de tus archivos de salida. La carga en Developer Hub falla si el tamaño de cualquier archivo de resultado es mayor de 20MB, aunque todos los resultados se guardan localmente y se muestran en el informe HTML local.
¿Qué Sigue?
Puedes ver tus resultados en Axe Developer Hub. Aprende cómo integrar Axe DevTools Mobile en tu canal de CI/CD. ¿Usas una plataforma de pruebas basada en la nube? Aún puedes usar Axe DevTools Mobile para buscar problemas de accesibilidad: Integrar con Plataformas en la Nube.
