Escaneo Automático

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

Identifique automáticamente problemas de accesibilidad mientras sus pruebas de UI existentes interactúan con su aplicación

Not for use with personal data

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.

tip

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

  1. 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 = ""
    }
  2. Si estás usando nuestras herramientas y prefieres obtener resultados en modo offline, deberás establecer un valor para el axeOfflineLicenseKey en lugar de axeMobileApiKey y axeProjectId.

    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
note

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=true en tu bloque de configuración de axeDevTools
  • 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.