スキャン結果をローカルに保存

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

スキャン結果をローカルに保存することで、JSON結果を使用してアクセシビリティメトリクスをさまざまな報告ツールに統合できます。また、HTMLレポートを作成して、メールやチャットを通じて共有し、テスト実行のアクセシビリティの健康状態をチームに通知できます。

ローカルへの保存は自動テスト内でのみサポートされています。

結果の保存と共有

次のコードを使って、実際の物理デバイスまたはエミュレータ上にテスト結果を .json ファイルとして保存します。 "prefix" パラメータは、結果を保存したいファイル名の先頭部分になります。

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

注意: 結果を保存する前に スキャンの名前 を変更することができます。

報告のための結果の利用

JSONファイルをプロジェクトのビルドフォルダに移動することで、報告のためにスキャン結果を活用します。その後、 axe DevTools Reporter CLI を利用して、一連のスキャンからHTMLレポートを生成できます。また、プログラムで結果ファイルにアクセスして、内部報告ツールにアクセシビリティメトリクスを統合することもできます。

次のスクリプトをアプリの build.gradle ファイルの android{...} ブロックの下に追加し、別のGradleタスクの中に入らないようにしてください。アプリのパッケージ名を packageName 変数に追加します。

以下のスクリプトは、エミュレータまたはデバイスで結果をローカルに保存して生成されたレポートをコピーし、ビルドフォルダのレポートディレクトリに移動します。

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
        }
    }
}

クラウドテストプラットフォームでのサポート

結果をローカルに保存することは、クラウドテストプラットフォームでは期待通りに動作しません。クラウドテストプラットフォームのサポートが必要な場合は、 helpdesk@deque.com または support.deque.comにリクエストを送信してください。