Insight テスト・オブジェクトまたはテキスト・テスト・オブジェクトの使用
関連:GUI テストおよびコンポーネント
Insight オブジェクトまたはテキスト・テスト・オブジェクトのオブジェクト・リポジトリへの追加は,アプリケーションから直接行うか,または画面に表示されているオブジェクトの画像から行うことができます。
Insight オブジェクトまたはテキスト・オブジェクトの追加
このセクションでは,Insight オブジェクトまたはテキスト・テスト・オブジェクトをオブジェクト・リポジトリに追加する方法を説明します。
Insight オブジェクトまたはテキスト・オブジェクトを追加するには
-
オブジェクト・リポジトリ・マネージャまたは[オブジェクト リポジトリ]ウィンドウで,[ローカルへ Insight オブジェクトを追加] または[ローカルへテキストオブジェクトを追加]ツールバー・ボタンをクリックします。
-
[学習モードの選択]ダイアログ・ボックスで,オブジェクトを学習するのに使用するモードを選択して,コントロールまたはテキストを選択します。
注: [学習モードの選択]ダイアログ・ボックスを表示するには,[オプション]ダイアログ・ボックス([ツール]>[オプション]>[GUI テスト]タブ>[Insightとテキストオブジェクト]ノード)でこのオプションを有効にします。
自動学習モードポインタが指差し型に変わります。アプリケーション内のコントロールまたはテキストをクリックします。
UFT One は,自動的にコントロールまたはテキストの境界を検出し,コントロールまたはテキストのスナップショットを取得します。
このモードはより高速なモードで,ほとんどの場合,Insight オブジェクトには十分なはずです。
手動学習モードポインタが十字形に変わり,十字形の中心の周りの領域の拡大像がその近くの円の中に表示されます。
Example:
ユーザがコントロールまたはテキストの境界を手動で指定することで,アプリケーション内のコントロールまたはテキストのスナップショットを取得します。
必要な領域よりもはるかに大きいアプリケーションの領域が選択される場合など,自動モードでコントロールまたはテキストの境界が正しく検出されない場合に,このモードを使用してください。
左の Ctrl キーを押したままにすると,指差しアイコンまたは十字形ポインタが標準ポインタに変わります。
この操作を行うと,ウィンドウのフォーカスを変更したり,UFT One またはアプリケーション内で操作を実行したりすることができます。
-
[Insight テスト オブジェクトの追加]または[テキストテストオブジェクトの追加]ダイアログ・ボックスで,次の操作が可能です。
-
オブジェクト・リポジトリのテスト・オブジェクトとともに保存されている画像の境界を調整します。
-
新しいスナップショットを取得して,画像全体を置換します。
Insight オブジェクトの場合:
-
テスト・オブジェクトの画像から除外する領域を指定します。この領域は,オブジェクトの識別で UFT One が画面上の画像を検索するときに無視されます。
-
テスト・オブジェクトのクリックポイントを変更します。これは,テスト・オブジェクト・メソッドの実行中にコントロール内でクリックする場所です。
-
-
[保存]をクリックして,Insight オブジェクトまたはテキスト・テスト・オブジェクトを追加します。
オブジェクト・リポジトリで,コントロールまたはテキストを含むアプリケーションまたはウィンドウを表すテスト・オブジェクトの下に,選択した画像とともに新しいテスト・オブジェクトが追加されます。
オブジェクト・リポジトリ内:
- Insight オブジェクトには InsightObject という名前が付けられ,保存された画像はアプリケーションのコントロールを識別するために使用されます。
-
テキスト・オブジェクトの場合,UFT One は,OCR を使用して画像からテキストを抽出し,オブジェクトの text プロパティに保存します。抽出されたテキストに基づいてテスト・オブジェクトの名前が付けられ,そのテキストはアプリケーション内の関連するテキストを識別するために使用されます。
UFT One バージョン 2022 以降:ABBYY OCR を使用している場合,UFT One は,追加の色関連プロパティ(textcolor,backgroundcolor,huethreshold,isinverted など)をテキスト識別に使用します。これらのプロパティは,ABBYY OCR を使用している場合にのみ有効になります。
新規テキスト・テスト・オブジェクトの定義
アプリケーションのオブジェクトを認識するために使用するテキストを指定して,記述によって,オブジェクト・リポジトリ内でテキスト・テスト・オブジェクトを作成できます。
-
新規テスト・オブジェクトの定義の説明に従って,ツールバーの[新規テストオブジェクトの定義]ボタンを使用します。
-
[環境]ドロップダウン・リストで,[IBA]を選択します。次に,TextObject クラスを選択し,オブジェクトの認識に使用するプロパティを指定します。
UFT One バージョン 2022 以降:ABBYY OCR を使用している場合は,[記述プロパティを追加]ボタンをクリックして,色関連プロパティを指定できます。
Insight テスト・オブジェクトまたはテキスト・テスト・オブジェクトの画像の変更
-
[オブジェクト リポジトリ]ウィンドウまたは[オブジェクト リポジトリ マネージャ]ウィンドウで,画像を変更するテスト・オブジェクトを選択します。
エディタで操作する場合は,ステップのテスト・オブジェクトの画像をダブルクリックします。
-
[テスト オブジェクトの画像]領域で,[テスト オブジェクトの画像を変更]ボタンをクリックします。
テキスト・オブジェクトの画像を変更すると,それに応じてテスト・オブジェクトの text プロパティが更新されます。
UFT One バージョン 2022 以降:ABBYY OCR を使用する場合(ABBYY OCR を使用して追加したオブジェクトの場合),そのテスト・オブジェクトの色関連プロパティも更新されます。
Insight オブジェクトからのテキストの取得
Insight.GetVisibleText メソッドを使用して,Insight オブジェクト上に表示されるテキストを取得します。UFT One では,OCR メカニズムを使用してテキストを認識し,返します。
検査目的で,またはアプリケーションのオブジェクトや状態を区別する方法として,このテキストを使用します。
- Example:
-
操作が成功したときにアプリケーションのボタンのテキストが変わる場合,そのテキストをチェックして成功を確認してください。
Insight オブジェクト定義のテキスト領域を無視するには,[領域の除外]を使用します。
-
アプリケーション内によく似た 2 つのオブジェクト(テキストだけが異なる)がある場合,[領域の除外]を使用して画像のテキストを無視して,両方のオブジェクトを同じオブジェクトとして学習します。
その後,GetVisibleText を使用してオブジェクト上のテキストをチェックし,テストまたはコンポーネント内の 2 つのオブジェクトを区別します。
詳細については,『UFT One Object Model Reference for GUI Testing』の「Insight」の項を参照してください。
Insight テスト・オブジェクトの詳細の更新
次の操作を行うことで,テストまたはコンポーネントの読みやすさや効率を向上することができます。
-
テスト・オブジェクトの名前を,そのオブジェクトが表すコントロールの説明としてわかりやすい名前に変更します(推奨)。
-
テスト・オブジェクト階層内でテスト・オブジェクトを移動します。
別のテスト・オブジェクトの下に配置する場合... UFT One は,親のテスト・オブジェクト内でのみアプリケーションのオブジェクトを検索します。
Insight テスト・オブジェクトを最上位レベル・オブジェクトになるように移動する場合... UFT One は,画面上の任意の場所にあるオブジェクトを検索します。 -
テスト・オブジェクト記述の similarity,skipmakeobjvisible,methodoptionorder,ratiotestthreshold などの追加の記述プロパティを更新します。
詳細については,『UFT One Object Model Reference for GUI Testing』の「InsightObject description properties」を参照してください。
-
テスト・オブジェクトのために作成した順序識別子を変更します。詳細については,順序識別子を参照してください。
-
テスト・オブジェクトのビジュアル関係識別子を定義します。詳細については,ビジュアル関係識別子を参照してください。
詳細については,オブジェクト・リポジトリ内のテスト・オブジェクトの保守を参照してください。
ヒント: すべての Insight テスト・オブジェクトの変更が完了したら,すべてのスナップショットを削除して,使用するディスク容量を減らしてください。この操作で,オブジェクトの認識に使用されるテスト・オブジェクト画像が削除されることはありません。
[ツール]>[Insight スナップショットの削除]を選択します。
その他の参照項目: