Ranorex:Gitによるテスト管理

UIテスト自動化ツールで作成したテスト資産をどのように管理したら良いのか迷うことがあります。

UIテスト自動化ツールであるRanorexは、GitやSVN(Subversion)、TFVC(Team Foundation Version Control)との連携が可能です。
Gitでは、Ranorex Studioがインストールされている環境に必要なツール(Git for WindowsTortoiseGit)をインストールすることで連携を可能にします。
今回は、Gitを使用したテスト管理について紹介いたします。

※本記事では、Gitの基本操作については説明いたしません。Gitの公式サイトなどをご確認ください。

コミット(commit)とチェックアウト(checkout)

Ranorex StudioとGitを連携することで、Gitへのコミット時に管理対象となるファイルをRanorex Studioが自動で選択します。このため、コミットするファイルをユーザー自身が選択する必要がありません。また、チェックアウトにおいては、Ranorex Studioからチェックアウトのメニューを選択することで、ローカル環境に対象のRanorexソリューションがクローンされ、Ranorex Studioで開かれます。

※RanorexとGitの連携によるコミット、およびチェックアウトや、フェッチ、プル、プッシュなどの各操作の詳細については、ユーザーガイドをご参照ください。

※”.sln”ファイルについて
”.sln”ファイルは、Ranorexソリューションフォルダー配下に生成され、Gitへのコミット時に管理対象に含まれないファイルとなります。

C:\Users\{ユーザー名}\Documents\Ranorex\RanorexStudio Projects\{ソリューション名}

Rranorex Studioを使用せずに、Ranorexソリューションをビルドし、テスト実行モジュール(.exe)を生成される場合は管理対象ファイルに含めてください。
たとえば、CI環境で自動化する場合に、GitからチェックアウトしたRanorexソリューションをビルドし、テスト実行モジュール(.exe)を生成したい場合などに必要となります。

コンフリクト(conflict)

Ranorexで提供されているマージツール(Ranorex Magic Merger)を使用することで、RanorexソリューションのXML形式ファイルを自動マージするとともに、自動でマージできない場合においては、マニュアルよるコンフリクトの解決を行うことができます。

※Ranorex Magic Mergerでは、以下のファイルの自動マージに対応しています。

  • Ranorex テスト スイート ファイル(.rxtst)
  • Ranorex リポジトリ ファイル (.rxrep)
  • プロジェクト ファイル(.csproj または、.vbproj)

管理対象外のデータファイル

管理対象外のファイルとして、以下のファイルがあります。

※”.rximg”ファイル以外は、Ranorex StudioとGitの連携時におけるチェックアウト時には管理対象ファイルに含まれません。

“.rximg”ファイル

このファイルは、Ranorexソリューションフォルダーにあるプロジェクトフォルダーに生成されます。

C:\Users\{ユーザー名}\Documents\Ranorex\RanorexStudio Projects\{ソリューション名}\{プロジェクト名}

このファイルは、リポジトリのスクリーンショット(リポジトリにて各オブジェクトを選択した時に右側に表示されるスクリーンショット)を保存するためのバイナリファイルです。1つのRanorexソリューションを複数人で編集する場合にコンフリクトが発生しやすいファイルとなります。また、テスト実行において影響がないため、テストの作成などで個々のオブジェクトを画像で確認する必要がない場合には管理対象から外しても問題のないファイルになります。

レポートファイル(ショートカット)

このファイルは、プロジェクトフォルダー配下のReportsフォルダーに生成されます。

C:\Users\{ユーザー名}\Documents\Ranorex\RanorexStudio Projects\{ソリューション名}\{プロジェクト名}\Reports

このファイルは、テスト実行時に生成されるレポートファイルのショートカットになります。テスト実行において影響のないファイルとなるため、管理対象から外しても問題のないファイルになります。

このファイルはテスト実行の度に生成されるため、生成されないようにしたい場合は、以下の作業を行ってください。

  1. Ranorex Studioにて、「ツール」メニューから「オプション」を選択します。
  2. 表示されるオプション画面にて、”全般”-”Ranorex レポート ビューアー”を開きます。
  3. Ranorex レポート ビューアーの設定画面にて、”レポート モニター”にある、”プロジェクト レポート フォルダーにレポート ファイルのリンクを自動作成”のチェックボックスを無効にします。
  4. 「OK」ボタンをクリックし、オプション画面を閉じます。
Debug/Releaseフォルダー配下のファイル

このフォルダー配下のファイルは、Ranorexソリューションフォルダーにあるプロジェクトフォルダーに生成されます。

C:\Users\{ユーザー名}\Documents\Ranorex\RanorexStudio Projects\{ソリューション名}\{プロジェクト名}

このフォルダーは、Ranorex Studioのテスト実行時において、Ranorexソリューションのビルド時に生成されるテスト実行用モジュール(.exe)が保存されるフォルダーになります。CI環境を使用した自動化などで、Ranorexソリューションを毎回、ビルドしてテスト実行用モジュールを生成される場合には不要となるため、管理対象から外しても問題のないファイルになります。

※Ranorexソリューションの対象プロジェクトの構成(Debug/Rlease)によって、Debug、またはRleaseフォルダーの出力先が変わります。(デフォルト時は、Debugフォルダーに出力されます)

Reportsフォルダー配下のファイル

このフォルダー配下のファイルは、プロジェクトフォルダー配下にあるDebug/Releaseフォルダーに生成されます。

C:\Users\{ユーザー名}\Documents\Ranorex\RanorexStudio Projects\{ソリューション名}\{プロジェクト名}\(Debug/Release)

このフォルダーは、Ranorex Studioのテスト実行時に生成されるテスト結果レポートが保存されるフォルダーになります。テスト実行において影響がないため、管理対象から外しても問題のないファイルになります。

まとめ

UI/E2Eで作成したテストも、開発コードやドキュメント類(仕様書、設計書)などと同じ開発資産となります。そのため、これらの開発資産と一緒に、Gitなどの構成管理ツールにて管理されることをお勧めします。