Berichte in CI/CD generieren
Mit Axe DevTools Reporter können Sie jetzt eigenständige Berichte direkt in Ihrer CI/CD Pipeline (Continuous Integration/Continuous Deployment) erstellen.
Befolgen Sie die folgenden grundlegenden Schritte, um den Reporter in Ihre Android- oder iOS-Pipeline zu integrieren.
Integration in eine Android Pipeline
Richten Sie Ihre automatisierten Tests ein.
-
Aktualisieren Sie Ihre automatisierten Tests, um Ergebnisse lokal zu speichern, die dann zum Erstellen des Berichts verwendet werden können.
-
Fügen Sie das unten stehende Skript in die
build.gradle-Datei Ihrer App ein, unterhalb desandroid-Blocks, und stellen Sie sicher, dass es sich nicht innerhalb einer anderen Gradle-Task befindet. Fügen Sie Ihren App-Paketnamen inpackageNameder Variable hinzu. Dieses Skript verschiebt die beim automatisierten Lauf erzeugten Ergebnisse in das Berichtsverzeichnis des Build-Ordners.
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
}
}
}Schritte zum Erstellen des Berichts
- Melden Sie sich bei unserem privaten Artifactory, Agora, mit Ihren Deque-Zugangsdaten an.
- Von der Seite „Willkommen, <your_email> Wählen Sie im Dropdown-Menü „Profil bearbeiten“ aus.
- Klicken Sie auf "Generate an Identity Token".
- Ein Dialogfeld öffnet sich und zeigt die Option zum Kopieren des Referenztokens an.
- Erstellen Sie einen eindeutigen Namen für das Identitätstoken und fügen Sie diesen in die Beschreibung ein. Im folgenden Beispiel wird
AGORA_IDENTITY_TOKENals Name verwendet. - Wählen Sie „Weiter“.
- Bitte kopieren Sie im nächsten Dialogfeld Ihr Identitätstoken zur Verwendung im unten stehenden Skript. Stellen Sie sicher, dass dieses Token in Ihren Umgebungsvariablen oder Secrets für Ihre Plattform verfügbar ist.
Das Identitätstoken ist ausschließlich im Dialogfenster einsehbar und kann nach dem Schließen des Dialogfensters nicht erneut angezeigt werden. Dieses Token läuft 11 Monate und 30 Tage nach seiner Erstellung ab.
- Holen Sie sich den Reporter, bevor Sie Ihre Tests oder Ihren Build ausführen. Hier ist ein Skript zum Einstieg:
# 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-
Erstellen Sie Ihre App und führen Sie Ihre Tests durch
-
Sobald die Tests abgeschlossen sind, führen Sie den Reporter aus und geben Sie den Dateipfad der JSON-Ergebnisdateien an.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPassen Sie Ihr Ausgabeformat (--format) mit html, junit oder csv an.
Integration in eine iOS-Pipeline
Richten Sie Ihre automatisierten Tests ein
Aktualisieren Sie Ihre automatisierten Tests, um Ergebnisse lokal zu speichern, die dann zum Erstellen des Berichts verwendet werden können.
Schritte zum Erstellen des Berichts
- Melden Sie sich bei unserem privaten Artifactory, Agora, mit Ihren Deque-Zugangsdaten an.
- Von der Seite „Willkommen, <your_email>Im Dropdown-Menü, wählen Sie „Profil bearbeiten“ aus.
- Klicken Sie auf "Generate an Identity Token".
- Ein Dialogfeld öffnet sich und zeigt die Option zum Kopieren des Referenztokens an.
- Erstellen Sie einen eindeutigen Namen für das Identitätstoken und fügen Sie diesen in die Beschreibung ein. Das folgende Beispiel verwendet
AGORA_IDENTITY_TOKENals Namen. - Wählen Sie „Weiter“.
- Bitte kopieren Sie im nächsten Dialogfeld Ihr Identitätstoken zur Verwendung im unten stehenden Skript. Stellen Sie sicher, dass dieses Token in Ihren Umgebungsvariablen oder Secrets für Ihre Plattform verfügbar ist.
Das Identitätstoken ist ausschließlich im Dialogfenster einsehbar und kann nach dem Schließen des Dialogfensters nicht erneut angezeigt werden. Dieses Token läuft 11 Monate und 30 Tage nach seiner Erstellung ab.
- Holen Sie sich den Reporter, bevor Sie Ihre Tests oder Ihren Build ausführen. Hier ist ein hilfreiches Skript für den Einstieg:
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-
Erstellen Sie Ihre App und führen Sie Ihre Tests durch.
-
Sobald die Tests abgeschlossen sind, führen Sie den Reporter aus und geben Sie den Dateipfad der JSON-Ergebnisdateien an.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPassen Sie Ihr Ausgabeformat (--format) mit html, junit oder csv an.
