MagicPodで実行したテストの結果を、テスト管理ツールQualityForwardの自動テスト安定性レポートに登録する方法について解説します。
本ページは株式会社ベリサーブが作成した記事に基づいて作成しています。
概要
QualityForwardの自動テスト安定性レポートは、自動テストの結果や実行時間を時系列で分析・可視化するためのツールです。MagicPodでのテスト結果を連携すると、テストの成功率をグラフで確認したり、失敗しがちなテストケースを一括実行設定ごとに確認することができます。
QualityForwardの自動テスト安定性レポート
自動テスト安定性レポート内の一括実行に関する詳細画面
ここでは、一括実行結果を自動テスト安定性レポートに連携するためのGitHub Actionsを用い、テスト実行からQualityForwardへの結果登録までをGitHub Actionsの1つのジョブとして実行する例を紹介します。
事前準備
QualityForward
自動テスト安定性レポートを紐付ける対象のプロジェクトを用意しておきます。
詳しい操作方法はこちらを参照してください。
MagicPod
実行するテストケースと一括実行設定を準備しておきます。
今回は4つのテストケースを作成しました。
一括実行設定は、プロジェクトページの「テスト一括実行」タブ > 詳細から設定できます。
必要に応じて、設定の追加や変更を行ってください。
なお、下図の一括実行設定名がQualityForwardの「自動テストスイート名」として登録されます。
GitHub
以下の項目をリポジトリのシークレット(リポジトリ環境内に作成する秘密の変数)に登録してください。
登録方法についてはGitHub Actionsのドキュメントをご確認ください。
GitHub Actions
GitHub Actionsのジョブ定義ファイルである.github/workflows/magicpod_test.ymlを用意します。以下はymlファイルの記述例です。
on: [push]
jobs:
magic_pod_job:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# MagicPodの一括実行
- name: Batch run test
env:
MAGICPOD_API_TOKEN: ${{ secrets.MAGICPOD_API_TOKEN }}
run: |
OS=mac
FILENAME=magicpod-api-client
# magicpod-apiクライアントの最新版を現在のディレクトリにダウンロード・解凍
curl -L "https://app.magicpod.com/api/v1.0/magicpod-clients/api/${OS}/latest/" -H "Authorization: Token ${MAGICPOD_API_TOKEN}" --output ${FILENAME}.zip
unzip -q ${FILENAME}.zip
# MagicPodで使う各種環境変数を設定
MAGICPOD_ORGANIZATION=<MagicPod組織名>
MAGICPOD_PROJECT=<MagicPodプロジェクト名>
# テスト一括実行
TEST_SETTING_NUMBER=<MagicPod一括実行設定番号>
./magicpod-api-client batch-run -t ${MAGICPOD_API_TOKEN} -o ${MAGICPOD_ORGANIZATION} -p ${MAGICPOD_PROJECT} -S ${TEST_SETTING_NUMBER}
# 一括実行したテストNoを取得
BATCH_RUN_NUMBER=$(./magicpod-api-client latest-batch-run-no -t ${MAGICPOD_API_TOKEN} -o ${MAGICPOD_ORGANIZATION} -p ${MAGICPOD_PROJECT})
# 一括実行結果をjsonに出力
./magicpod-api-client get-batch-run -t ${MAGICPOD_API_TOKEN} -o ${MAGICPOD_ORGANIZATION} -p ${MAGICPOD_PROJECT} -b ${BATCH_RUN_NUMBER} > batch_run_results.json
# アクションを使って、自動テスト結果を連携する
- name: Integrate with QualityForward
uses: QualityForward/test-stability-report-sync@v1.2.0
with:
file-path: batch_run_results.json
test-framework: magicpod
api-key: ${{ secrets.QUALITYFORWARD_API_KEY }}
GitHub Actionsでジョブを実行する
今回のスクリプトではGitHubにコードをプッシュする度に自動でMagicPodの実行とQualityForwardへのテスト結果の追加が行われます。プッシュ以外にもpull_requestやdeploymentなどのイベントをトリガーとすることが出来ます。詳しくはGitHub Actionsドキュメントをご確認ください。
なお、MagicPodのテスト実行でブラウザ/端末パターンを追加している場合、上述のGitHub Actionsでは1つ目のパターンの結果のみが連携されます。必要に応じてスクリプトを調整してください。