Générer des rapports via CI/CD
Avec axe DevTools Reporter, vous pouvez désormais générer des rapports autonomes directement dans votre pipeline d'intégration continue/déploiement continu (CI/CD).
Suivez les étapes de base ci-dessous pour intégrer le reporter à votre pipeline Android ou iOS.
Intégration dans un pipeline Android
Configurez vos tests automatisés
-
Mettez à jour vos tests automatisés pour enregistrer les résultats localement, qui peuvent ensuite être utilisés pour générer le rapport.
-
Ajoutez le script ci-dessous dans le fichier
build.gradlede votre application, sous le blocandroid, et assurez-vous qu'il ne se trouve pas dans une autre tâche Gradle. Ajoutez le nom du package de votre application dans lapackageNamevariable. Ce script déplacera les résultats générés par votre exécution automatisée vers le répertoire de rapports du dossier de compilation.
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
}
}
}Étapes pour générer le rapport
- Connectez-vous à notre artifactory privé, Agora, avec vos identifiants Deque.
- À partir de la « Bienvenue, <your_email>Dans le menu déroulant, sélectionnez « Modifier le profil ».
- Cliquez sur « Générer un jeton d'identité ».
- Une boîte de dialogue s'ouvrira et affichera l'option permettant de copier le jeton de référence.
- Créez un nom distinctif pour le jeton d'identité et ajoutez-le dans la description. L'exemple ci-dessous utilise
AGORA_IDENTITY_TOKENcomme nom - Sélectionnez « Suivant ».
- Dans la boîte de dialogue suivante, veuillez copier votre jeton d'identité pour l'utiliser dans le script ci-dessous. Pour un pipeline automatisé, envisagez de rendre ce jeton disponible dans les variables d'environnement ou les secrets de projet de votre plateforme.
Le jeton d'identité est accessible uniquement depuis la boîte de dialogue, et vous ne pourrez plus le consulter après avoir fermé celle-ci. Ce jeton expirera 11 mois et 30 jours après sa création.
- Avant d'exécuter vos tests ou votre construction, récupérez le reporter. Voici un script pour commencer :
# Compatible with a Mac runner on GitHub Actions. Make changes to the Reporter download type and location based on your pipeline requirements.
AGORA_IDENTITY_TOKEN='<YOUR_AGORA_IDENTITY_TOKEN>'
curl --compressed \
-H "X-JFrog-Art-Api: ${AGORA_IDENTITY_TOKEN}" \
"https://agora.dequecloud.com/artifactory/axe-devtools-reporter-cli/prod/4.11.1/pkgs/@axe-devtools/reporter-cli-macos" \
--output "/Users/runner/reporter"
chmod +x /Users/runner/reporter-
Créez votre application et exécutez vos tests
-
Une fois les tests terminés, exécutez le reporter et spécifiez le chemin d'accès aux fichiers JSON de résultats.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPersonnalisez votre format de sortie (--format) avec html, junit ou csv.
Intégration dans un pipeline iOS
Configurez vos tests automatisés
Mettez à jour vos tests automatisés pour enregistrer les résultats localement, qui peuvent ensuite être utilisés pour générer le rapport.
Étapes pour générer le rapport
- Connectez-vous à notre artifactory privé, Agora, avec vos identifiants Deque.
- À partir de la « Bienvenue, <your_email>" Dans le menu déroulant, sélectionnez « Modifier le profil ».
- Cliquez sur « Générer un jeton d'identité ».
- Une boîte de dialogue s'ouvrira et affichera l'option permettant de copier le jeton de référence.
- Créez un nom distinctif pour le jeton d'identité et ajoutez-le dans la description. L'exemple ci-dessous utilise
AGORA_IDENTITY_TOKENcomme nom. - Sélectionnez « Suivant ».
- Dans la boîte de dialogue suivante, veuillez copier votre jeton d'identité pour l'utiliser dans le script ci-dessous. Pour un pipeline automatisé, envisagez de rendre ce jeton disponible dans les variables d'environnement ou les secrets de projet de votre plateforme.
Le jeton d'identité est accessible uniquement depuis la boîte de dialogue, et vous ne pourrez plus le consulter après avoir fermé celle-ci. Ce jeton expirera 11 mois et 30 jours après sa création.
- Avant d'exécuter vos tests ou votre construction, récupérez le reporter. Voici un script utile pour commencer :
AGORA_IDENTITY_TOKENY='<YOUR_AGORA_IDENTITY_TOKEN>'
curl --compressed \
-H "X-JFrog-Art-Api: ${AGORA_IDENTITY_TOKEN}" \
"https://agora.dequecloud.com/artifactory/axe-devtools-reporter-cli/prod/4.11.1/pkgs/@axe-devtools/reporter-cli-macos" \
--output "/Users/runner/reporter"
chmod +x /Users/runner/reporter-
Créez votre application et exécutez vos tests.
-
Une fois les tests terminés, exécutez le reporter et spécifiez le chemin d'accès aux fichiers JSON de résultats.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPersonnalisez votre format de sortie (--format) avec html, junit ou csv.
