作成したテスト資産の流用方法

UIテストを作成するにあたり、たとえばテスト対象アプリに多くの機能が含まれている場合には、複数人でテストを作成し、後から複数のテストを1つにまとめるといった運用を行うケースがあるかと思います。
また、複数人でテストを作成しなくとも、新たにテストケースを作成する際に、以前作成したテストと共通の操作部分が存在する場合には、既存のテスト資産を流用したいケースもあるかと思います。
Ranorexでは、作成したテスト資産を別のソリューションやプロジェクトに流用することができるため、上記のようなケースにも対応することができます。
Ranorexで作成したテスト資産は、レコーディングモジュール単位、もしくはプロジェクト単位での流用が可能です。
テスト資産を流用する方法として、以下3つの方法をご紹介します。
・レコーディングモジュールをコピーする方法
・プロジェクトをリンクする方法
・プロジェクトをライブラリ化する方法
レコーディングモジュールをコピーする方法
作成したレコーディングモジュールは、別のプロジェクトにコピーすることができます。
特徴:
レコーディングモジュールをコピーする場合、コピー元とコピー先のレコーディングモジュールは別のファイルとして管理されます。
そのため、コピー先のレコーディングモジュールの内容を変更したとしても、コピー元のレコーディングモジュールに変更は反映されないため、それぞれ独立したファイルとして自由にアクションの変更を行うことができます。
コピー元のレコーディングモジュールと切り分けて使用したい場合には、レコーディングモジュールのコピーが役立ちます。
操作手順:
1. Ranorex Studioにて、対象のソリューションを開きます。
2. 左上のプロジェクトビューから プロジェクト名 を右クリックし、追加 – 既存のファイル を選択します。

3. コピーしたいレコーディングモジュール(rxrec)を選択し、開く ボタンをクリックします。

4. リポジトリ参照の解決 画面が開かれるため、コピー元のレコーディングモジュールが使用しているリポジトリの取り扱いを選択します。
・リポジトリをプロジェクト’**’にリンク:
コピー元のリポジトリファイルを参照します。
・リポジトリをプロジェクト’**’にコピー:
コピー元のリポジトリファイルを、コピー先のプロジェクトへコピーし、追加します。
・リポジトリをレコーディングモジュール’**’に埋め込み:
コピー元のリポジトリ情報を、コピー先のレコーディングモジュールへ組み込みんだ形で、コピー先プロジェクト配下へコピーします。
・リポジトリ’**’を以下にマージ:
コピー元のリポジトリ情報を、コピー先のリポジトリファイルへ統合します。

5. プロジェクト内に、対象のレコーディングモジュールがコピーされます。

プロジェクトをリンクする方法
作成したプロジェクトは、別のソリューションにリンクすることができます。
特徴:
プロジェクトをリンクした場合、リンク元のプロジェクトとリンク先のプロジェクトは、同一のプロジェクトを参照します。
そのため、プロジェクトの内容を変更した場合、いずれのプロジェクトにおいても、変更内容が反映されます。
コピー元とコピー先のプロジェクトを切り分けず、双方で編集可能な状態でプロジェクトを共有したい場合には、プロジェクトのリンクが役立ちます。
操作手順:
1. Ranorex Studioにてソリューションを開きます。
2. 左上のプロジェクトビューから ソリューション名 を選択し、右クリックします。

3. 追加 – 既存のプロジェクト を選択し、追加したいプロジェクト(*.csproj)を選択し、開く ボタンをクリックします。

上記手順により、既存プロジェクトがリンクされた状態となります。
プロジェクトをリンクすることで、リンクしたプロジェクト内に存在するレコーディングモジュールを他のプロジェクトにも使用することができます。

プロジェクトをライブラリ化する方法
作成したプロジェクトをライブラリ化することができます。また、ライブラリ化したプロジェクトは、別のプロジェクトから参照できます。
特徴:
ライブラリ化したプロジェクトを別のプロジェクトから参照することで、作成したテストシナリオをライブラリ形式で使用できます。
なお、ライブラリを参照しているプロジェクトからは、プロジェクト内容の変更ができません。
プロジェクト内容を編集したい場合には、参照元のプロジェクトから直接変更を行う必要があります。
参照元プロジェクトの編集は行わず、作成したプロジェクトの参照のみを行いたい場合には、プロジェクトのライブラリ化が役立ちます。
既存プロジェクトのライブラリ化
既存のプロジェクトをライブラリ化するには、以下の手順となります。
1. Ranorex Studioにて、既存のプロジェクトを開きます。
2. メニューバーから プロジェクト – プロジェクトオプション を選択します。

3. 出力の種類 を クラス ライブラリ に変更します。

4. メニューバーから ビルド – ソリューションのビルド をクリックします。

上記手順により、対象プロジェクトの bin – Debug フォルダに、対象のプロジェクトがライブラリ(dll)として生成されます。

別プロジェクトからのライブラリの参照方法
別のプロジェクトから、作成したライブラリを参照するには、以下の手順となります。
1. Ranorex Studioにて、参照したい別のソリューションを開きます。
2. プロジェクトビューから Reference を選択し、右クリックし、追加 – 参照の追加 を選択します。

3. .NETアセンブリブラウザー を選択し、参照 を選択します。

4. 作成したライブラリ(dll)を選択し、追加します。

上記手順により、既存のプロジェクトをライブラリとして参照されます。
これにより、左下のモジュールブラウザーウィンドウには、参照しているモジュールが追加されます。

まとめ
以上、テスト資産を流用する方法として、3つの方法を紹介しました。
今後、新たにテストを作成する際には、必要に応じて既存のテストシナリオを流用しながらテストを作成してみてください。