オブジェクト・リポジトリの作成

この実習では,アプリのユーザ・インタフェースのテストに使用されるテスト・オブジェクトのコレクションであるオブジェクト・リポジトリを作成する方法について説明します。

記録と実行環境設定の定義

MyFlight アプリケーションのオブジェクトを WPF テスト・オブジェクトとして学習するように設定します。

アプリケーション上のオブジェクトを学習するように構成するには,次の手順を実行します。

  1. MyFlightApplication ソリューションと MyFlight テストを開いた状態から始めます。詳細については,テスト構造の作成を参照してください。

  2. [記録と実行環境設定]を設定して,アプリ内のオブジェクトの学習方法を定義します。

    1. 記録]>[記録と実行環境設定]を選択します。

    2. 指定したアプリケーションだけで記録して実行する: UFT によって開かれたアプリケーション]および[次の指定アプリケーション]を選択します。

    3. 追加ボタンをクリックし,次の場所にある FlightsGUI.exe ファイルを参照します。<Installdir>\samples\Flights Application\FlightsGUI.exe

      [アプリケーションの詳細]ダイアログ・ボックスの他のオプションは,標準設定値のままにしておきます。

  3. OK]をクリックして,[記録と実行環境設定]ダイアログ・ボックスに戻ります。

  4. もう一度[OK]をクリックして,メインの OpenText Functional Testing ウィンドウに戻ります。

    MyFlight アプリケーションのオブジェクトのスパイに進んでください。

先頭に戻る

MyFlight アプリケーションのオブジェクトのスパイ

MyFlight アプリケーションの一部のオブジェクトで使用できるプロパティと操作をスパイします。

アプリケーションのオブジェクトをスパイするには,次の手順を実行します。

  1. MyFlight サンプル・アプリを開きます。

    アプリがすでに開いている場合は,閉じてから再度開いて,OpenText Functional Testing で正しく認識されるようにします。詳細については,サンプルの MyFlight アプリケーションの探索を参照してください。

  2. OpenText Functional Testing で,ツールバーの[オブジェクト認識センター]ボタンをクリックします。

  3. 一度に複数のオブジェクトをスパイするには,[マルチオブジェクトスパイ]スイッチをオンにし,[スパイの開始]ボタンをクリックします。

    OIC ウィンドウが OIC ウィジェットに変わり,カーソルが手のアイコンに変わり,OpenText Functional Testing が MyFlight アプリを表示するために非表示になります。

    通常の Windows カーソルへの切り替え

    OIC と他のアプリを切り替えるときは,CTRL を押して,手の形のカーソルを通常の Windows カーソルに変更します。

    Windows カーソルが必要な間は CTRL ボタンを押したままにし,離すと OIC の手のアイコンに戻ります。

  4. MyFlight アプリのオブジェクトに手の形のカーソルを合わせて,キャプチャされたプロパティと値がツールヒントに表示されるのを確認します。

  5. MyFlight の[Username]編集ボックスと[Password]編集ボックスをクリックし,ログイン・ページの[OK]ボタンをクリックします。

    OIC ウィジェットにキャプチャされたオブジェクトの数が表示されます。

    完了したら,OIC ウィジェットをクリックして OIC ウィンドウを再度開きます。ウィンドウに,スパイしたオブジェクトのリストが表示されます。

    注: スパイする前に[ホバーモード]を有効にしておけば,オブジェクトにカーソルを合わせると,OIC が自動的にオブジェクトをキャプチャします。

  6. OIC ウィンドウで,スパイしたオブジェクトにカーソルを合わせ,[編集]ボタンをクリックして編集ビューに入ります。編集ビューには,オブジェクトの階層と認識プロパティが表示されます。

  7. 閉じる]をクリックして,OIC を閉じます。

先頭に戻る

オブジェクト・リポジトリへの特定のオブジェクトの追加

テストに必要な特定のオブジェクトを 1 つずつオブジェクト・リポジトリに追加します。

オブジェクトをオブジェクト・リポジトリに追加するには,次の手順を実行します。

  1. OpenText Functional Testing で,[リソース]>[オブジェクト リポジトリ マネージャ]を選択します。オブジェクト・リポジトリ・マネージャを使用して,テストに関連付けられたオブジェクト・リポジトリを管理し,使用するテスト・オブジェクトを含めることができます。

  2. [オブジェクト リポジトリ マネージャ]ウィンドウで,[オブジェクト]>[オブジェクトの追加]を選択します。OpenText Functional Testing とオブジェクト・リポジトリ・マネージャの両方が非表示になります。

  3. MyFlights アプリの[Username]エディット・ボックスをクリックし,[agentName]オブジェクトを選択して[OK]をクリックします。

    agentName オブジェクトが親オブジェクト(OpenText MyFlight Sample ウィンドウ・オブジェクト)とともにオブジェクト・リポジトリに追加されます。

  4. 上記の 2 つの手順を繰り返し,[Password]エディット・ボックスのテスト・オブジェクトを追加して[OK]ボタンをクリックします。

    agentName テスト・オブジェクトへのドリル・ダウン

    [テスト オブジェクト]ツリーで,agentName オブジェクトを選択し,オブジェクト・リポジトリの右側の表示枠に表示されるオブジェクトのプロパティを確認します。これらは,実行セッション中にオブジェクトの認識に使用される記述プロパティまたは認識プロパティです。

  5. オブジェクト・リポジトリを保存します。

    • [共有オブジェクト リポジトリの保存]ダイアログで,ソリューションとテストが保存されているフォルダを参照し,TutorialObjectRepositories という名前の新しいフォルダを作成します。

      標準設定では,ソリューションとテストのフォルダは C:%HOMEPATH%\Documents\Functional Testing です。

    • ファイル名]フィールドに名前として「Login」と入力します。

    注: この手順では,オブジェクト・リポジトリの保存のみが行われます。まだテストには関連付けられません。

  6. Login オブジェクト・リポジトリをテストの Login アクションに関連付けます。

    これにより,Login アクションの任意のステップでこのリポジトリ内のオブジェクトを使用できます。

    アクションをオブジェクト・リポジトリに関連付けるには,次の手順を実行します。

    1. ソリューション・エクスプローラで,[Login]ノードを参照して右クリックします。
    2. リポジトリをアクションに関連付ける]を選択し,前の手順で作成した Login.tsr ファイルを参照します。開いたメッセージ・ボックスで[はい]をクリックします。

    これで,オブジェクト・リポジトリが Login アクションに関連付けられ,そのアクションの子要素としてソリューション・エクスプローラに表示されます。

  7. テストを保存します。続けて,MyFlight アプリの他の領域のオブジェクト・リポジトリを追加します。

    詳細については,オブジェクト・リポジトリの作成およびナビゲートして学習を参照してください。

先頭に戻る

ナビゲートして学習

ナビゲートして学習機能を使用して,MyFlight アプリの残りの各ページの共有オブジェクト・リポジトリを作成します。[ナビゲートして学習]を使用することで,アプリケーションのページまたはセクション内のすべてのオブジェクトを一度に学習できます。

FlightFinder オブジェクト・リポジトリを作成するには,次の手順を実行します。

  1. MyFlight アプリで,ログインして[Book Flight]ページを表示します。次の資格情報を使用してログインします。

    • Username: john
    • Password: hp
  2. 新しい共有オブジェクト・リポジトリを作成します。OpenText Functional Testing の[オブジェクト リポジトリ マネージャ]ウィンドウで,[新規作成をクリックします。

  3. [オブジェクト リポジトリ マネージャ]ウィンドウで続けて,[オブジェクト]>[ナビゲートして学習]を選択します。

    OpenText Functional Testing と[オブジェクト リポジトリ マネージャ]ウィンドウの両方が非表示になり,[ナビゲートして学習]ツールバーが表示されます。

  4. オブジェクト フィルタの定義]ボタンをクリックし,[標準設定のオブジェクト タイプ]を選択します。

  5. MyFlight アプリの[Book Flight]ページにあるすべてのオブジェクトを学習します。

    1. MyFlight アプリで,Book Flight のタイトル・バーをクリックしてフォーカスを合わせます。
    2. [ナビゲートして学習]ツールバーで,[学習]をクリックします。

    注: MyFlight アプリがちらつき,テスト・オブジェクトが新しいオブジェクト・リポジトリに追加されます。

    このプロセス中は,MyFlight アプリを操作しないでください。

  6. [ナビゲートして学習]ツールバーを閉じて,OpenText Functional Testing と[オブジェクト リポジトリ マネージャ]ウィンドウに戻ります。

  7. オブジェクト・リポジトリを以前作成した TutorialObjectRepositories ディレクトリに保存し,FlightFinder という名前を付けます。

  8. 新しい FlightFinder.tsr オブジェクト・リポジトリをテスト・フローの FlightFinder アクションに関連付けます。

    詳細については,前述のログイン・アクションで行ったこの操作を参照してください。

追加のオブジェクト・リポジトリの作成

これらの手順を繰り返して,残りの MyFlight アプリ・ページ用に追加のオブジェクト・リポジトリを作成します。テストを保存し,関連付けられたアクション名に従って各オブジェクト・リポジトリに名前を付けます。

注: ページを学習する前に,項目を選択するかテキストを入力して,すべてのボタンが有効になっていることを確認してください。これにより,ボタン・オブジェクトが適切に学習されるようになります。

アクションとリポジトリのサマリ

完了すると,テストには以下のページのオブジェクト・リポジトリが含まれます。

MyFlight ページ名 オブジェクト・リポジトリ名 関連付けられたアクション
Login Login Login
Book Flight FlightFinder FlightFinder
Select Flight SelectFlight SelectFlight
Flight Details FlightConfirmation FlightConfirmation

先頭に戻る

オブジェクトとオブジェクト・リポジトリの詳細

OpenText Functional Testing ではテスト・オブジェクトを使用して,テストの実行中にアプリ内のオブジェクトを認識します。

これらの各テスト・オブジェクトは,テスト・オブジェクト・モデルに基づいています。このモデルは,オブジェクト・タイプまたはクラスの大規模なセットです。各テスト・オブジェクト・クラスには次のものがあります。

  • オブジェクトの学習に利用可能な記述プロパティのリスト
  • オブジェクトに対して実行できる関連操作のリストです。

各テスト・オブジェクト・クラスは,より大きな 1 つのテスト・オブジェクト階層に含まれています。たとえば,agentName テスト・オブジェクトは,OpenText MyFlight Sample ウィンドウ・オブジェクトの子オブジェクトです。

実行環境オブジェクトは,アプリ内の実際のオブジェクトです。オブジェクトをオブジェクト・リポジトリに追加すると,実行環境オブジェクトのプロパティが学習され,テスト・オブジェクトに変換されます。

先頭に戻る

オブジェクト・リポジトリに関する推奨事項

次のオブジェクト・リポジトリをお勧めします。

モジュール型リポジトリの作成

アプリのセクション/ページごとに個別の共有オブジェクト・リポジトリを作成します。

これにより,更新時に正しいオブジェクトを簡単に見つけることができます。

共有リポジトリの使用

テスト・オブジェクトを共有リポジトリに保存して,複数のアクションまたはテストで再利用します。

これらのテスト・オブジェクトに加えられた更新は,関連するすべての場所で使用されます。

無関係なテスト・オブジェクトの削除

テストに必要なテスト・オブジェクトのみを含めます。

これにより,リポジトリが小さくなり,管理しやすくなります。

論理名の使用

テスト・オブジェクトとリポジトリの論理名を指定します。

これにより,テストを作成または変更するときに,他のユーザが正しいオブジェクトを簡単に選択できるようになります。

先頭に戻る

次のステップ: