Enregistrer les résultats de l'analyse localement
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.