Enregistrer les résultats de l'analyse localement

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
Not for use with personal data

Lorsque vous enregistrez les résultats d’analyse localement, vous pouvez utiliser le résultat JSON pour intégrer des mesures d’accessibilité dans différents outils de création de rapports. Vous pouvez également créer un rapport HTML à partager par e-mail ou par chat, pour informer votre équipe de l'état d'accessibilité de votre test.

L'enregistrement des résultats localement n'est pris en charge que dans les tests automatisés.

Enregistrer et Partager les résultats

Utilisez le code suivant pour enregistrer les résultats des tests sur le périphérique physique réel ou l'émulateur sous forme de fichier. .json Le paramètre sera le début du nom du fichier sous lequel vous souhaitez enregistrer le résultat. "prefix"

axe.scan()?.saveResultToLocalStorage("prefix")

Remarque : vous pouvez modifier le nom de l'analyse avant d'enregistrer le résultat.

Utiliser les résultats pour les rapports

Exploitez les résultats de l'analyse pour la création de rapports en déplaçant les fichiers JSON vers le dossier de build de votre projet. Vous pouvez ensuite utiliser l'axe DevTools Reporter CLI pour créer un rapport HTML à partir d'un ensemble d'analyses. Vous pouvez également accéder aux fichiers de résultats par programmation pour intégrer les mesures d’accessibilité aux outils de reporting internes.

Ajoutez le script suivant au fichier de votre application, sous le bloc, et assurez-vous qu'il ne se trouve pas dans une autre tâche Gradle. build.gradle android{...} Ajoutez le nom du package de votre application dans la packageName variable.

Le script ci-dessous copiera les rapports générés à partir de l'enregistrement des résultats localement sur votre émulateur ou appareil et les déplacera dans le répertoire de rapports de votre dossier de build.

def reportsDirectory = "$buildDir/reports/androidTests/connected/axe"
def packageName = "your.app.package.name.here"

def createAndroidFolderDirectoryTask = task('createAndroidFolderDirectoryTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'shell', 'mkdir', '-p', '/storage/emulated/0/Android/data/' + packageName + '/files/AxeTestCases'
}

def clearAndroidDirectoryTask = task('clearAndroidDirectoryTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'shell', 'rm', '-r', '/storage/emulated/0/Android/data/' + packageName + '/files/AxeTestCases'
}

def fetchAndroidFolderAxeReportsTask = task('fetchAndroidFolderAxeReportsTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'pull', '/storage/emulated/0/Android/data/' + packageName + '/files/AxeTestCases', reportsDirectory

    dependsOn {
        createAndroidFolderDirectoryTask
    }

    finalizedBy {
        clearAndroidDirectoryTask
    }

    doFirst {
        new File(reportsDirectory).mkdirs()
    }
}

def createDirectoryTask = task('createDirectoryTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'shell', 'mkdir', '-p', '/storage/emulated/0/Documents/AxeTestCases'
}

def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'

    finalizedBy {
        fetchAndroidFolderAxeReportsTask
    }
}

def fetchAxeReportsTask = task('fetchAxeReportsTask', type: Exec, group: 'reporting') {
    executable "${android.getAdbExecutable().toString()}"
    args 'pull', '/storage/emulated/0/Documents/AxeTestCases', reportsDirectory

    dependsOn {
        createDirectoryTask
    }

    finalizedBy {
        clearDirectoryTask
    }

    doFirst {
        new File(reportsDirectory).mkdirs()
    }
}

tasks.configureEach { task ->
    if (task.name == 'connectedDebugAndroidTest') {
        task.finalizedBy {
            fetchAxeReportsTask
        }
    }
}

Assistance sur les plateformes de test Cloud

La sauvegarde d'un résultat localement ne fonctionnera pas comme prévu sur les plateformes de test Cloud. Si vous avez besoin d'assistance pour les plateformes de test cloud, veuillez envoyer une demande helpdesk@deque.com ou support.deque.com.