Berichte innerhalb von CI/CD generieren

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

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

  1. Aktualisieren Sie Ihre automatisierten Tests, um Ergebnisse lokal speichern, die dann zur Generierung des Berichts verwendet werden können.

  2. Fügen Sie das untenstehende Skript zu der build.gradle-Datei Ihrer App hinzu, unterhalb des android-Blocks, und stellen Sie sicher, dass es sich nicht innerhalb einer anderen Gradle-Aufgabe befindet. Fügen Sie den Paketnamen Ihrer App in die Variable packageName ein. 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

  1. Melden Sie sich mit Ihren Deque-Anmeldedaten bei unserem privaten Artifactory Agora an.
  2. Wählen Sie aus dem Dropdown-Menü „Willkommen, <your_email>“ die Option „Profil bearbeiten“.
  3. Klicken Sie auf 'Ein Identitätstoken generieren'.
  4. Ein Dialogfeld wird geöffnet und zeigt die Option zum Kopieren des Referenztokens an.
  5. 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_TOKEN als Name verwendet.
  6. Wählen Sie 'Weiter'.
  7. 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.
note

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.

  1. 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
  1. Bauen Sie Ihre App und führen Sie Ihre Tests aus

  2. 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=html
tip

Passen 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

  1. Melden Sie sich mit Ihren Deque-Anmeldedaten bei unserem privaten Artifactory Agora an.
  2. Wählen Sie aus dem Dropdown-Menü „Willkommen, <your_email>“ die Option „Profil bearbeiten“.
  3. Klicken Sie auf 'Ein Identitätstoken generieren'.
  4. Ein Dialogfeld wird geöffnet und zeigt die Option zum Kopieren des Referenztokens an.
  5. 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_TOKEN als Name verwendet.
  6. Wählen Sie 'Weiter'.
  7. 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.
note

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.

  1. 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
  1. Bauen Sie Ihre App und führen Sie Ihre Tests aus.

  2. 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=html
tip

Passen Sie Ihr Ausgabeformat (--format) mit html, junit oder csv an.