自動テストの手動作成

Ranorexは単なるキャプチャ&リプレイ ツールではありません。機能豊富なテスト自動化ソフトであり、あらゆるスキル レベルに対応する多彩なツールを備えています。Ranorex Recorder を使用してプログラミング スキルなしに簡単にテストの作成と保守を行える一方で、手動で作成することもできます。
手動でテスト ケースを作成するメリットは次のとおりです。
- 最初から整理された状態の Ranorex オブジェクト リポジトリを維持できる。
- 動的IDを一意に識別する堅牢なテスト ケースを作成できる。
- テスト対象の UI 要素だけを Ranorex オブジェクト リポジトリに含めることができる。
- Ranorex オブジェクト リポジトリを使用し、複雑なテスト シナリオをコードで自動化できる。

テストシナリオ
このサンプルでは、テスト対象アプリケーション (AUT) として KeePass を使用します。このオープンソースのパスワード管理アプリケーションは、サンプルアプリケーションの一つとして Ranorex Studio に付属しているため、ここで紹介する例をすぐに試すことができます。
このブログでは、以下の手順を説明します。
- 自動テストで処理する UI 要素だけを含む Ranorex オブジェクト リポジトリを作成する。
- 作成したリポジトリ アイテムをアクション テーブルにドラッグ&ドロップする。
- または、リポジトリ アイテムをユーザー コードに直接ドラッグ&ドロップしてテスト対象のワークフローを再現する。
Ranorexオブジェクト リポジトリ
Ranorexオブジェクト リポジトリは、テスト対象のUI要素を管理します。UI要素を記録またはトラッキングすると、この一元化されたRanorexオブジェクト リポジトリに自動的にリポジトリ アイテムが作成されます。リポジトリ アイテムを変更すると、レコーディング モジュールだけでなく、コードにも自動的に変更が適用されます。
まず、ソリューションを開いて、空のレコーディング モジュールを追加します。アクション テーブルの下に、テスト オートメーション プロジェクトのための一元化されたRanorexオブジェクト リポジトリが表示されているのがわかるでしょう。Ranorexオブジェクト リポジトリの[Track]ボタンをクリックすると、リポジトリにUI要素を追加できます。

RanoreXPathの拡張
特定のリポジトリ アイテムのRanoreXPathを変更し、パスをより堅牢にできます。それには、パス エディターを開き、アイテムの隣にある[Edit]ボタンをクリックします。RanoreXPathの詳細については、ユーザーズ ガイドの「RanoreXPath」および「RanoreXPath エディター」を参照してください。RanoreXPath演算子を使用してAUTのオブジェクト識別精度を最大限に高める方法については、ブログ記事「RanoreXPath – コツと小技」を参照してください。
リポジトリの整理整頓
Ranorexオブジェクト リポジトリに多数のオブジェクトがある場合、リポジトリを常にすっきりと整頓された状態にしておくことがとても重要です。以下の2点の対応をおすすめします。
リポジトリ アイテム名の変更: リポジトリ内の UI 要素にはそれぞれ、ユーザー定義の論理名を指定できます。リポジトリ アイテムの名前を変更し、論理名を指定すると、テスト オートメーション コードやレポート ファイルを理解するのが容易になります。
論理フォルダーの作成: 論理フォルダーを作成し、論理的にまとめられるUI要素を分類してグループ化できます。Ranorexオブジェクト リポジトリを整理する具体的な手順については、ユーザーガイドの「既存のリポジトリの調整」を参照してください。

レコーディング
Ranorexオブジェクト リポジトリに複数のUI要素を追加したら、レコーディングにアクションを追加します。それには、[新しいアクションの追加]をクリックするか、リポジトリからレコーディングのアクション テーブルに直接リポジトリ アイテムをドラッグ&ドロップします。


自動テストにデータを関連付けし、アクション テーブルやリポジトリで変数を使用する方法については、ユーザー ガイドの「データ駆動テスト」を参照してください。
ユーザー コード
ユーザー コード内で直接アクションを作成することもできます。それには、Ranorexオブジェクト リポジトリからコード エディターに直接リポジトリ アイテムをドラッグ&ドロップします。

ユーザー ガイドの「コード例」には、ユーザー固有のコードでモジュールを拡張するためのさまざまなサンプルがあります。
まとめ
上記で説明したとおり、[Record]ボタンを押さなくても、いつでも手動で自動テストを作成できます。そうすることで、呼び出すアクションをより詳細にコントロールできます。
(この記事は、開発元 Ranorex 社 Blog 「Manually Create Automated Tests」2016年9月1日の翻訳記事です。)