Berichte innerhalb von CI/CD generieren
Mit Axe DevTools Reporter können Sie jetzt eigenständige Berichte direkt in Ihrer Continuous Integration / Continuous Deployment (CI/CD) Pipeline generieren.
Befolgen Sie die grundlegenden Schritte unten, 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 speichern, die dann zur Generierung des Berichts verwendet werden können.
-
Fügen Sie das untenstehende Skript zu der
build.gradle-Datei Ihrer App hinzu, unterhalb desandroid-Blocks, und stellen Sie sicher, dass es sich nicht innerhalb einer anderen Gradle-Aufgabe befindet. Fügen Sie den Paketnamen Ihrer App in die VariablepackageNameein. Dieses Skript verschiebt die Ergebnisse, die aus Ihrem automatisierten Lauf generiert wurden, in das Berichtverzeichnis 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 zur Erstellung des Berichts
- Melden Sie sich mit Ihren Deque-Anmeldedaten bei unserem privaten Artifactory Agora an.
- Wählen Sie aus dem Dropdown-Menü „Willkommen, <your_email>“ die Option „Profil bearbeiten“.
- Klicken Sie auf 'Ein Identitätstoken generieren'.
- Ein Dialogfeld wird geöffnet 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'.
- Im nächsten Dialogfenster kopieren Sie bitte Ihr Identitätstoken zur Verwendung im untenstehenden Skript. Für eine automatisierte Pipeline sollten Sie darüber nachdenken, dieses Token in Ihren Umgebungsvariablen oder Projekgeheimnissen für Ihre Plattform verfügbar zu machen.
Das Identitätstoken ist nur innerhalb des Dialogs zugänglich, und Sie können es nach dem Schließen des Dialogs nicht mehr sehen. Dieses Token läuft 11 Monate und 30 Tage nach seiner Erstellung ab.
- Bevor Sie Ihre Tests oder den Build ausführen, holen Sie den Reporter. Hier ist ein Skript, um loszulegen:
# 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-
Bauen Sie Ihre App und führen Sie Ihre Tests aus
-
Sobald die Tests abgeschlossen sind, führen Sie den Reporter aus und geben Sie den Dateipfad der Ergebnis-JSON-Dateien 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 speichern, die dann zur Generierung des Berichts verwendet werden können.
Schritte zur Erstellung des Berichts
- Melden Sie sich mit Ihren Deque-Anmeldedaten bei unserem privaten Artifactory Agora an.
- Wählen Sie aus dem Dropdown-Menü „Willkommen, <your_email>“ die Option „Profil bearbeiten“.
- Klicken Sie auf 'Ein Identitätstoken generieren'.
- Ein Dialogfeld wird geöffnet 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'.
- Im nächsten Dialogfenster kopieren Sie bitte Ihr Identitätstoken zur Verwendung im untenstehenden Skript. Für eine automatisierte Pipeline sollten Sie darüber nachdenken, dieses Token in Ihren Umgebungsvariablen oder Projekgeheimnissen für Ihre Plattform verfügbar zu machen.
Das Identitätstoken ist nur innerhalb des Dialogs zugänglich, und Sie können es nach dem Schließen des Dialogs nicht mehr sehen. Dieses Token läuft 11 Monate und 30 Tage nach seiner Erstellung ab.
- Bevor Sie Ihre Tests oder den Build ausführen, holen Sie den Reporter. Hier ist ein hilfreiches Skript, um loszulegen:
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-
Bauen Sie Ihre App und führen Sie Ihre Tests aus.
-
Sobald die Tests abgeschlossen sind, führen Sie den Reporter aus und geben Sie den Dateipfad der Ergebnis-JSON-Dateien an.
DEQUE_RESULTS="../ContainingFolder"
/Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=htmlPassen Sie Ihr Ausgabeformat (--format) mit html, junit oder csv an.
