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 necesita un control más detallado en sus pruebas, consulte Pruebas Dirigidas.

Cómo funciona

Nuestro plugin de Gradle reemplazará su corredor de instrumentación JUnit con nuestro corredor personalizado. Esto nos permite observar su suite de pruebas y procesar sus resultados en el momento apropiado. Obtenga el plugin Gradle de AxeDevToolsMobile. Cuando la prueba finaliza, Escaneo Automático procesa sus resultados y guarda un resultado JSON para cada pantalla así como un informe HTML independiente 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á utilizando nuestras herramientas y prefiere obtener resultados en modo fuera de línea, deberá 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

Escaneo Automático genera un informe HTML independiente con capturas de pantalla, datos de la jerarquía de vista e información detallada de los problemas. Los resultados JSON individuales se guardan en el axe-test-data directorio. Todos los archivos se guardan en el app/build/reports/AxeDevToolsMobileResults directorio.

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 prefiere guardar sus resultados en un directorio específico, puede indicarlo en el bloque de configuración del plugin de su build.gradle archivo.

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

Escaneo Automático ejecuta todo el conjunto de reglas de Axe con la excepción de ScreenOrientation y todas las reglas experimentales (ej. NestedActiveControl, NestedElementName, InaccessibleAction). Encuentre información detallada sobre lo que verificamos en el Resumen de Reglas para Android.

Centro de Desarrolladores

Auto Scan sube automáticamente tus resultados al Centro de Desarrolladores Axe. Si solo deseas guardar los resultados localmente, configura axeUploadResults a false.

Referencia de Configuración

Propiedades

Propiedad Tipo Requerido Detalles
axeAutoScanMode Booleano Requerido Por defecto a false. Debe configurarse a true para habilitar el escaneo automático.
axeMobileApiKey Cadena Obligatorio* Una clave API de Axe DevTools Mobile de axe.deque.com es requerido si axeUploadResults=true
axeOfflineLicenseKey Cadena Obligatorio* Solo se requiere para modo sin conexión, cuando axeUploadResults=false
axeUploadResults Booleano Opcional Por defecto a true. Configúrase a false solo para resultados locales
axeProjectId Cadena Opcional Un ID de Proyecto del Centro de Desarrolladores es requerido si axeUploadResults=true
axeServerUrl (En desuso) Cadena Opcional URL de backend personalizada (por ejemplo, axe.company.com), para nube privada/on-prem solamente
axeAccountUrl Cadena Opcional URL de backend personalizada (por ejemplo, axe.company.com), para nube privada/on-prem solamente
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 se requiere para modo sin conexión, cuando axeUploadResults=false

* Nota: Debe configurar ya sea el axeMobileApiKey o el axeOfflineLicenseKey en su configuración. La clave API es obligatoria a menos que use el modo sin conexión. La clave de licencia sin conexión es obligatoria solo para el modo sin conexión.

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