CI/CDでレポートを生成する

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

Axe DevTools Reporterを使用することで、CI/CDパイプライン内で自己完結型のレポートを生成できるようになりました。

以下の基本的な手順に従って、AndroidまたはiOSのパイプラインにレポーターを統合してください。

Androidパイプラインへの統合

自動テストを設定する

  1. 結果をローカルに保存にあなたの自動化テストを更新し、それを使用してレポートを生成できるようにします。

  2. 以下のスクリプトを、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
        }
    }
}

レポートを生成する手順

  1. Dequeの資格情報を使用して、プライベートアーティファクトリAgoraにログインします。
  2. 「ようこそ、<your_email>」ドロップダウンから「プロフィールを編集」を選択します。
  3. 「IDトークンを生成」をクリックします。
  4. ダイアログボックスが開き、リファレントークンをコピーするオプションが表示されます。
  5. IDトークン用に明確な名前を作り、それを説明に追加します。以下の例では、AGORA_IDENTITY_TOKENを名前として使用しています。
  6. 「次へ」を選択します。
  7. 次のダイアログボックスで、以下のスクリプトで使用するためにIDトークンをコピーしてください。自動化されたパイプラインの場合、このトークンを環境変数またはプラットフォームのプロジェクトシークレットで利用可能にするように検討してください。
note

アイデンティティトークンはダイアログ内でのみアクセス可能で、ダイアログを閉じた後は再度表示することはできません。このトークンは作成から11か月と30日後に失効します。

  1. テストやビルドを実行する前に、レポーターを取得してください。開始するためのスクリプトはこちらです:
    # 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. アプリをビルドしてテストを実行する

  2. テストが終了したら、レポーターを実行し、結果JSONファイルのファイルパスを指定します。

    DEQUE_RESULTS="../ContainingFolder"
    /Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=html
tip

--formatの出力形式をhtmljunitまたはcsvでカスタマイズします。

iOSパイプラインへの統合

自動テストをセットアップする

結果をローカルに保存にあなたの自動化テストを更新し、それを使用してレポートを生成できるようにします。

レポートを生成する手順

  1. Dequeの資格情報を使用して、プライベートアーティファクトリAgoraにログインします。
  2. 「ようこそ、<your_email>」ドロップダウンから「プロフィールを編集」を選択します。
  3. 「IDトークンを生成」をクリックします。
  4. ダイアログボックスが開き、リファレントークンをコピーするオプションが表示されます。
  5. IDトークン用に明確な名前を作り、それを説明に追加します。以下の例では、AGORA_IDENTITY_TOKENを名前として使用しています。
  6. 「次へ」を選択します。
  7. 次のダイアログボックスで、以下のスクリプトで使用するためにIDトークンをコピーしてください。自動化されたパイプラインの場合、このトークンを環境変数またはプラットフォームのプロジェクトシークレットで利用可能にするように検討してください。
note

アイデンティティトークンはダイアログ内でのみアクセス可能で、ダイアログを閉じた後は再度表示することはできません。このトークンは作成から11か月と30日後に失効します。

  1. テストやビルドを実行する前に、レポーターを取得してください。以下に開始するための便利なスクリプトを示します:
    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. アプリをビルドして、テストを実行します。

  2. テストが終了したら、レポーターを実行し、結果JSONファイルのファイルパスを指定します。

    DEQUE_RESULTS="../ContainingFolder"
    /Users/runner/reporter ${DEQUE_RESULTS} "AxeReport" --format=html
tip

--formatの出力形式をhtmljunitまたはcsvでカスタマイズします。