このページの本文へ

DevOpsのためのテスト自動化プラットフォーム「mabl」入門 第6回

GitHubとmablの具体的なインテグレーション設定も紹介

DevOpsツールと連携してもっと便利に! 最適なテスト自動化環境を構築する

2023年09月20日 08時00分更新

文● odasho(おだしょー)/mabl 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 皆さま、こんにちは。mabl(めいぶる)のodasho(おだしょー)です!

 前回はアクセシビリティテストやその自動化について、アサート機能などを交えた手順を共に学びました。本連載の最終回となる本記事では、mablと連携する主要なDevOpsツールとのインテグレーションについて解説するとともに、GitHubとの具体的なインテグレーション設定の方法もご紹介します。

 mablでは2週間の無料トライアルを提供しているので、第2回目の記事を参考にお手元でテスト環境を準備し、実際に操作しながら本記事をご覧いただくと、よりご理解いただけると思います。

1.さまざまなDevOpsツールとmablを連携しよう!

 mablは、単体でもテスト自動化のための多様な機能を提供しており、初心者からエキスパートまで、幅広いユーザーが効果的に利用できます。さらにmablでは、多岐にわたるDevOpsツール群との連携により、より効率的なテストプロセスを構築することが可能です。ここではその一部についてご紹介します。

mablデスクトップアプリ上で紹介されているDevOpsツールの一覧。APIやWebhookを活用して、上記以外にもさまざまなツールと連携が可能

●Slack / Microsoft Teams:
 重大な失敗に関するアラートや、インサイト、コメントなどのテスト結果を含むアクティビティを、リアルタイムに選択したチャンネルへ通知します。
 自動修復、リンク切れ、視覚的な変化のインサイトなどをモニタリングするようにフィルターを設定することが可能で、mablにログインすることなく、テストに関するアクセシビリティを常に把握できます。

●Attlasian Jira:
 スクリーンショット、DOMスナップショット、ネットワークアクティビティ(HARファイル)、テスト失敗時のChromeパフォーマンストレースなど、mablのテスト結果から問題の詳細をJiraに直接取り込めます。これにより、バグの情報を詳細かつ正確に共有することができ、開発チームは迅速に対応を始められます。

●Google BigQuery:
 mablのプランやテストが完了するとすぐに、結果、期間、ブラウザの種類といった実行の詳細が、設定したBigQueryデータセットのテーブルに書き込まれます。レポートを活用することにより、長期的な品質向上やテスト戦略の最適化に寄与します。この機能はトライアル時とEnterpriseプランで利用可能です。

●Jenkins:
 mablのテストを、Jenkinsビルドの1ステップとして簡単に起動できます。ビルド結果は、デプロイイベントの結果と連動します。mablのテスト結果は、JUnitプラグインを使用したレポートで確認できます。

●Azure Pipelines:
 mablのテストを、アプリケーションのビルドプロセスの一部として簡単に統合できます。パイプラインタスクがトリガーされると、mablでデプロイイベントが作成され、対応するテストの実行が開始されます。この統合により、パイプラインタスクはすべてのテストが成功した場合にのみ実行されます。

●CircleCI:
 CircleCI Orbを使用して、CI/CDパイプラインの一部としてmablのテストを実行し、CircleCIのインターフェース上でテスト結果を直接表示できます。すべてのデプロイメントで、ビジュアル、機能、パフォーマンスのリグレッションのビルドを自動的にテストします。テスト結果は、JUnitレポートとして外部のテストケース管理ツールにエクスポートすることもできます。

●GitLab:
 CI/CDパイプラインの一部として組み込まれ、対応するGitLabパイプラインステージやマージリクエストをトリガーとして、mablがビジュアル、機能、パフォーマンスのリグレッションテストを自動的に実行します。そのレポートはGitLab上で直接見ることができます。

●GitHub:
 mablを連携させることで、プルリクエストやブランチの変更をトリガーにして、GitHub Actionsで定義されたパラメータに基づくテストを自動実行します。テストプランの失敗やビジュアルの変更、その他のmablが取得したインサイトに対して、GitHub Issuesを自動的に作成します。

2.ステップバイステップ: mabl×GitHubインテグレーション

 このようにさまざまなDevOpsツールと連携できるmablですが、ここでは一例として、GitHubとのインテグレーション方法を紹介します。

 GitHubは、ソースコードのホスティングからCI/CD、バグトラッキング、プロジェクト管理までの豊富な機能を備えた、開発者に人気のプラットフォームです。mablとGitHubの連携により、開発とテストのプロセスがよりシームレスなものになります。

 今回は、GitHub Actionsでのデプロイメントをトリガーに、API経由でmablのテストを自動実行し、GitHubに結果を戻すというインテグレーションを設定してみましょう。以下の画面を参考に設定を進めてください。

今回紹介するインテグレーションの例。GitHubのデプロイメントをトリガーに、mablのテストを自動実行します

mablデスクトップアプリから「ワークスペース」を選択して、「mablとインテグレーション」の中からGitHubの「Learn more」をクリック

ブラウザが起動し、GitHub Appの「mabl bot」の画面が開くので「Install」をクリック。その後、GitHubの画面でインストールするレポジトリを指定

GitHub Actionsの振る舞いを選択。ここでmablが出力するテスト結果(インサイト)のフィルタリングが設定できます。「Plan labels」は、mablのプラン作成時にあらかじめラベルを設定することで選択が可能です

設定が完了すると、mablデスクトップアプリの「アクティブなインテグレーション」にGitHubが表示されます

続いて、mablアプリの「ワークスペース」⇒「API」タブで「APIキーの作成」をクリックします

APIキーのタイプは「CI/CD Integration」を選択。任意の名前を入力し、保存します

APIキーを作成後、その下にある「mabl CLI」から対象の「アプリケーション」と「環境」を選択し、サンプルコード中の「application-id」と「environment-id」をコピー、保存しておきしょう。これらのIDは後ほどGitHub上でymlファイル作成時に使用します

GitHubの「Setting」から「Sercrets and variables」⇒「Actions」に移動し「New repository secret」をクリック。ここで先ほど作成したAPIキーを入力します。「Name」は「MABL_API_KEY」としてください。後ほどymlファイルを作成する際に確認しましょう

 続いてymlファイルを作成します。すでにGitHub Actionsを設定済みであれば「[レポジトリ名]/.github/workflow」ディレクトリにymlファイルが存在します。このファイルを書き換える、あるいは同じディレクトリに新規作成するかたちで作業を進めてください。

 mablで使用するymlファイルの作成方法は、Run mabl testsのドキュメントが参考になります。

ymlファイルの作成画面。なお、本記事の執筆時点でRun mabl testsの最新バージョンはv1.13.0です。MABL_API_KEYのほかに「GITHUB_TOKEN」がありますが、設定は任意なので今回は無視します

 yamlファイルの「application-id」と「environment-id」を、先ほど保存しておいたものに書き換えます(上の画面の20、21行目)。さらに「plan-labels: |」という行を追加して、あらかじめ設定したプランラベル名を記述しましょう。プランラベルを設定することで、自動実行するテストを指定できます

 画面右上の「Commit changes...」ボタンをクリックすると、GitHub Actionsが起動してmablのテストも自動でキック(実行)されます。以上でGitHubとのインテグレーション設定が完了しました。

 設定後は、GitHubでソースコードの変更などが行われるたびに、GitHub Actionsによってmablテストが自動実行されるようになります。

テスト結果はmabl、もしくはGitHub Issuesからでも確認できます。mablの場合は「デプロイメント別」タブから自動実行されたテスト結果を確認しましょう

 なお、mablのテスト作成から始める一連のステップについては、筆者のウェビナー資料にSpeaker Deckで公開しています。本記事のとおりに操作を進めていてつまづいた場合などには、こちらも合わせてチェックしてみてください。

ウェビナー資料ではGitHubとmablのインテグレーション方法を解説しています

3. まとめ

 本記事では、mablとインテグレーションできるDevOpsツールの紹介に加えて、GitHubとの具体的なインテグレーション設定方法について説明しました。

 mablは単なるテスト自動化のツールではなく、その豊富な連携オプションによって、開発、テスト、デプロイという一連のプロセスをシームレスにつなげるキーツールとしての役割を果たしています。特に、ソースコードの管理ツールであるGitHubとのスムーズな連携は、迅速なフィードバックループを実現し、品質の高いソフトウェア開発をサポートします。mablのこのような強力な統合機能は、モダンなDevOpsカルチャーにおいて、高速かつ効率的な開発ライフサイクルの実現に欠かせないものです。

 mablを活用して、さまざまなDevOpsツールとのインテグレーションを、ぜひお手元の環境でも試してみてください。操作に慣れたら、ぜひ認定資格試験(mabl Skills Certification)にチャレンジしてみましょう。より深く学習するにはmablのユーザーコミュニティ(mablers_jp)や、定期開催しているmabl Webinarに参加することもお勧めです。最新情報や活用方法をキャッチアップしましょう。

■関連サイト

カテゴリートップへ

この連載の記事