画像ベースのテスト自動化

スクリーンオブジェクトの検索と操縦は、画像を用いて行うことができます。そのためには、画像をキャプチャして、コントロールを作成する必要があります。画像はあとで識別に使用されます。この画像はその後検索され、コントロール操縦時には、適切なアクションが実行されます。

システムは、主にテスト実行時に使用されるモニターで画像の検索を開始しますので、その点に留意してください。

画像ベースのテスト自動化制御は、他のTosca標準制御と同様に操作できます。制御を操作する方法の詳細は、 chapter "ステアリングコントロール" をご参照ください。

コントロールの作成

  1. モジュールフォルダーのコンテキストメニューから [ 画像ベースの制御の作成 ] オプションを選択します。画像を作成するためのウィンドウが開きます。

画像をキャプチャするために使用するウィンドウ

  1. 必要なアプリケーション(つまりXBrowser コントロール用のブラウザーをフォアグラウンドに移動します。

  2. 画像を作成するには、青い四角の中のプラス記号をクリックします。現在開いているウィンドウが最小化され、カーソルの形がレチクルに変わります。

  3. マウス ポインターを使用してキャプチャする領域を定義します。マウスの左ボタンをクリックして押したまま、選択した領域を赤い四角形でマークします。

    システムは、制御が操作されるときにこの画像を検索します。

  4. 対応するボタン(例: ボタン)で制御タイプを選択します。

    このオプションは、コントロールを新規作成する場合にのみ選択できます。

制御タイプの選択

  1. 画像を作成するには、 Enter キーを押してください。

スクリーンショットの作成

  1. ウィンドウの上部のセクションには制御する画像が表示され、下部のセクションは制御する領域の識別に使用される画像が表示されます。コントロールの画像は識別の目的で使用されるため、ここに表示される2つの画像は同一のものです。

コントロール識別のための画像キャプチャ

  1. 名前フィールドで、制御するに一意の名前アサインします。

また、Toscaでは、例えばトグルボタンの形状が文脈に応じて変化するような場合などに、1つのコントロールに対して複数の画像を保存することができます。識別するには、保存されている画像の1つが見つかる必要があります。

トグルボタンのスクリーンショットのキャプチャ

  1. 制御を作成するには、「保存」ボタンをクリックします。「 保存して新規作成」をクリックすると、現在のコントロールを保存して新しいコントロールを作成できます。

画像ベースのコントロールがモジュールフォルダ経由で作成される場合、Toscaはコントロールを含む新しいモジュールを作成しますが、画像ベースのコントロールがモジュールから作成される場合は、コントロールのみを追加します。

コントロールを画像で識別する

コントロールが作成されると、Toscaはコントロールの識別用に画像を使用します。コントロールと画像の間の距離がキャプチャされます(オフセット)。

画像と制御が重なり合っている場合でも可能です。

  1. モジュールまたはモジュール フォルダーのコンテキスト メニューから「画像ベースの制御の作成」 オプションを選択します。

  2. 必要なアプリケーション(つまり、XBrowser制御用のブラウザー)をフォアグラウンドに出してください。

  3. 青い四角のプラス記号をクリックして、画像を作成してください。現在開いているウィンドウが最小化され、カーソルの形がレチクルに変わります。

  4. 操縦する制御を含む領域を、カーソルで定義してください。

  5. 制御を識別するためにスクリーンショットでキャプチャする領域を定義します。

    指定された両方の領域は、赤い四角形と、画像からコントロールを指す矢印でマークされます。マウスボタンを放すと、スクリーンショットが作成されます。

画像と制御の間の距離を定義する

  1. 名前フィールドで、制御に一意の名前アサインします。

制御画像と識別用の画像の距離は、ウィンドウの「検索プロパティ」セクションで「オフセット」プロパティとして表示されます。

既存コントロールのスクリーンショットの作成

このオプションは、HTMLコントロールと画像によって識別されるコントロールの両方で使用できます。

  1. 必要な制御するのコンテキスト メニューから「画像で識別」オプションを選択すると、スクリーンショットをキャプチャできるウィンドウが開きます。

  2. 既存の制御には、識別のためにあらかじめ定義された画像があります。必要に応じて、「 x 」ボタンでこの画像を削除できます。

  3. 次のステップに進むには、ここをクリックし、手順の 3 番以降に従ってください。

Tosca Commanderのメインメニューで「表示」->「詳細の表示」->;「実行/スキャン中に縮小」オプションを有効にすると、スクリーンショットを撮りやすくなります。

プロパティと構成のオプション

オプション

説明

ScreenResolution

これは、画像作成時での画像の解像度を示しています。

この値は修正できません。

Accuracy

検出された画像と保存された画像がどの程度の精度レベルまで一致しなければならないかをパーセントで示します。

ActionPoint

これは、ステアリング時に操作が実行される正確な位置を示します。例えば、ボタンの中央をクリックするなどの操作です。

この値は修正できません。

ControlArea

制御する画面領域(see chapter "コントロールを画像で識別する")を定義します。

この値は修正できません。

モード

こちらのオプションは、使用する画像が既存のHTML制御する(see chapter "既存コントロールのスクリーンショットの作成")を識別するためにすでに適用されている場合に、変更することが可能です。

制御を識別するための検索モードがこちらで定義されます。以下の値を使用できます。

  • フルスクリーン: システムは、画面全体で保存されたスクリーンショットを検索します。

  • コントロールベース: システムは、コントロールの周辺で保存された画像を検索します。

  • オート: システムは、最も効率的な検索モードを自動的に判断します。

オフセット

制御から保存されたスクリーンショット (see chapter "コントロールを画像で識別する") までの距離を示します。

この値は修正できません。

Tosca Commander™でコントロールの識別に使用されるマッピング画像

画像ベースのコントロールには、Tosca Commanderの詳細ビューに「識別画像」という追加タブがあります。

ここではコントロール画像を、コントロールの識別に使用されるすべての画像と共に表示できます。

詳細ビューの「識別画像」タブ

  • 画像を編集する場合は、編集画像ボタンをクリックしてください。その結果、新しいイメージの作成に使用されるウィンドウが開きます (see "コントロール識別のための画像キャプチャ")。

  • 画像をダブルクリックすると、これが新しいウィンドウで開きます。

テキストを検証する

画像を介して検出される画像ベースのコントロールのテキストは、光学文字認識(OCR)またはUIAインターフェースのいずれかを使用して検証できます。Toscaはデフォルトで、UIAインターフェースをテキストの検証に使用します。

画像テキストをOCRによって検証する(Tesseract)

画像ベースのコントロールのテキストを検証します。確認の操作には光学文字認識エンジン Tesseract が使用されます。

画像は、確認操作 (see chapter "設定 - OCR") を実行する前に、設定ダイアログの Tesseract デフォルト設定に従って変更されます。

システムでテキストをすぐに識別できない場合、これらの設定は以下のように自動修正されます(SmartOCR)。

  1. 設定「 UseMonochrom 」が無効になります。

  2. ScaleFactor 」の設定値が1増加します。

  3. 設定「 UseMonochrom 」が有効になり、グレースケール値が0.2に設定されます(MonochromBrightnessFactor)。

  4. MonochromBrightnessFactor 」の設定値が0.05に設定されます。

  5. 設定「 UseInversion 」が有効になります。

Tesseract の設定は、1つ以上のオブジェクトのテストコンフィギュレーションパラメータまたはステアリングパラメータを使用して定義することもできます。その結果、「設定」ダイアログのグローバル設定が上書きされます。

テストコンフィギュレーションパラメータの名前は、スペースなしで設定名と一致し、プレフィックス「 Tesseract 」が付きます(例: TesseractScaleFactor)。

アクションモード: 確認

値: OCRText プロパティと検証される文字列

この例では、操縦されるコントロール画像に「 Google Search 」という値が存在するかどうかを検証しています。

テキストが見つからない場合は、実行したステップの結果が「詳細」列に表示されます(SmartOCR)。

「詳細」のテスト結果

コントロールテキストをUIAインターフェースによって検証する

コントロールテキストを検証します。ただしそのコントロールテキストは、識別目的でキャプチャされた画像のテキストと必ずしも一致するわけではありません。検証は「 UIAText 」プロパティを介して実行されます。アクションモードは「検証」に設定されます。「 」列に示されている値が検証されます。

システムは、操縦されるコントロールに「ホーム」という値が存在するかどうかを検証します。