Générer des rapports dans 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 dans 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 à votre fichier
build.gradlede l'application, en dessous du 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 la variablepackageName. Ce script déplacera les résultats générés par votre exécution automatisée vers le répertoire du rapport du dossier 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
}
}
}Étapes pour générer le rapport
- Connectez-vous à notre dépôt privé, Agora, avec vos identifiants Deque.
- Dans le menu déroulant "Bienvenue, <votre_email>", sélectionnez "Modifier le profil".
- Cliquez sur "Générer un jeton d'identité".
- Une boîte de dialogue s'ouvrira et montrera l'option pour 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é à utiliser dans le script ci-dessous. Pour un pipeline automatisé, envisagez de rendre ce jeton disponible dans vos variables d'environnement ou secrets de projet pour 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é la boîte de dialogue. Ce jeton expirera 11 mois et 30 jours après sa création.
- Avant d'exécuter vos tests ou de construire, 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-
Compilez votre application et exécutez vos tests
-
Une fois les tests terminés, exécutez le reporter et spécifiez le chemin du fichier des fichiers JSON de résultat.
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 dépôt privé, Agora, avec vos identifiants Deque.
- Dans le menu déroulant "Bienvenue, <votre_email>", sélectionnez "Modifier le profil".
- Cliquez sur "Générer un jeton d'identité".
- Une boîte de dialogue s'ouvrira et montrera l'option pour 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é à utiliser dans le script ci-dessous. Pour un pipeline automatisé, envisagez de rendre ce jeton disponible dans vos variables d'environnement ou secrets de projet pour 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é la boîte de dialogue. Ce jeton expirera 11 mois et 30 jours après sa création.
- Avant d'exécuter vos tests ou de construire, 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-
Compilez votre application et exécutez vos tests.
-
Une fois les tests terminés, exécutez le reporter et spécifiez le chemin du fichier des fichiers JSON de résultat.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPersonnalisez votre format de sortie (--format) avec html, junit ou csv.
