Scan-Ergebnisse lokal speichern

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

Wenn Sie Scanergebnisse lokal speichern, können Sie das JSON-Ergebnis verwenden, um Barrierefreiheitsmetriken in verschiedene Berichtstools zu integrieren. Sie können auch einen HTML-Bericht erstellen und ihn per E-Mail oder Chat weitergeben, um Ihr Team über die Barrierefreiheit Ihres Testlaufs zu informieren.

Das lokale Speichern von Ergebnissen wird nur bei automatisierten Tests unterstützt.

Ergebnisse speichern und teilen

Verwenden Sie den folgenden Code, um Testergebnisse auf dem tatsächlichen physischen Gerät oder Emulator als Datei zu speichern. .json Der Parameter "prefix" ist der Anfang des Dateinamens, unter dem Sie das Ergebnis speichern möchten.

axe.scan()?.saveResultToLocalStorage("prefix")

Hinweis: Sie können den Name des Scans ändern , bevor Sie das Ergebnis speichern.

Ergebnisse für die Berichterstellung verwenden

Nutzen Sie die Scan-Ergebnisse für die Berichterstellung, indem Sie die JSON-Dateien in den Build-Ordner Ihres Projekts verschieben. Anschließend können Sie die axe DevTools Reporter CLI verwenden, um aus einer Reihe von Scans einen HTML-Bericht zu erstellen. Alternativ können Sie programmgesteuert auf die Ergebnisdateien zugreifen, um Barrierefreiheitsmetriken in interne Berichtstools zu integrieren.

Fügen Sie das folgende Skript zur Datei Ihrer App unter dem Block build.gradle hinzu und stellen Sie sicher, dass es sich nicht in einer anderen Gradle-Aufgabe befindet. android{...} Fügen Sie Ihren App-Paketnamen in packageName der Variable hinzu.

Das folgende Skript kopiert die Berichte, die durch das lokale Speichern der Ergebnisse auf Ihrem Emulator oder Gerät generiert wurden, und verschiebt sie in das Berichtsverzeichnis Ihres 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
        }
    }
}

Unterstützung für Cloud-Testplattformen

Das lokale Speichern eines Ergebnisses funktioniert auf Cloud-Testplattformen nicht wie erwartet. Wenn Sie Unterstützung für Cloud-Testplattformen benötigen, senden Sie bitte eine Anfrage an helpdesk@deque.com oder an support.deque.com.