Means of Verification
画像比較:
T-Plan Robotはデスクトップ画像レベルで動作します、画像比較は、自動化されたシステムの動作を確認するための重要な手段の一つです。スクリプト設計時に、自動化対象システムやそのコンポーネントの画像テンプレートを保存し、参照することができます。スクリプトが実行されると、デスクトップ画像はテンプレートと比較され、期待通りの結果が表示されるか確認されます。
ロボットは4つの 画像比較アルゴリズム:
画像比較は、標準のクリック,CompareTo, スクリーンショットそしてWaitForコマンドを使用します。
テキスト認識:
T-Plan Robotはオプションで テキスト認識TesseractおよびABBYY OCRエンジンとの統合により、テキスト認識のオプションも提供します。これにより、接続されたリモートデスクトップやデバイスに表示されたテキストを認識し、オプションで事前に定義された文字列と比較することができます。
このエンジンはスクリプト言語で「tocr」と呼ばれる標準の画像比較メソッドとして公開されており、標準の クリック, CompareTo, スクリーンショットそして WaitForコマンドを使用します。
このエンジンはT-Plan Robot Enterpriseには含まれていませんので、別途ダウンロードしてインストールする必要があります。T-Plan Robot Enterpriseは、その場所を知っている必要があります。 環境設定 ウィンドウで 設定できます。
オブジェクト検索
オブジェクト検索 オブジェクト検索を使うと、ロボットが指定した色のアイテムを検索することができます。
オブジェクト検索と静止画像テスト
T-Plan Robot Enterprise v2.2では、GIS(Geographic Information System)やCAD(Computer Aided Engineering)のような画像システムのテストを対象とした2つの新機能が導入されました。
1つ目はスタティックイメージクライアントで、ファイルシステムからロードされたイメージに対する自動化を可能にします。このクライアントは、RFB/VNCのようなライブデスクトップクライアントと同じように動作します。画像ファイルは、ログインダイアログで対話的に読み込むことも、"-c"CLIオプション、または "file://%26lt;path_to_the_image>"形式の引数を指定してConnectコマンドを呼び出すことで、自動化された方法で読み込むことができます。静的画像テストは、さまざまなシナリオでうまく適用できます:
スクリーンショット、写真、地図、絵画、さまざまな画像生成システムの出力などの画像のテスト、
画像ファイルを更新するシステムのテスト(例えば、ステータスのスクリーンショット)。クライアントは画像ファイルのサイズとタイムスタンプを定期的にチェックし、変更が検出されるたびに画像を再読み込みするため、画像ファイル(または画像ファイル)への出力を生成するシステムのテストに使用できます。
ライブ・デスクトップ・テストで失敗したイメージ比較のデバッグ。画像比較が予期せず失敗するたびに、VNC デスクトップ画像を PNG ファイルに保存するようにスクリプトを変更すると、たとえばスクリーンショット コマンドを使用した場合、後でそのファイルを開いて画像比較を再実行し、何が間違っていたかを調べることができます。最終的には、画像から画像テンプレートを簡単に再作成し、標準のGUIツールを使って新しい機能を検証することができます。
イメージのテストにはいくつかの特殊な側面があります。ライブデスクトップとは異なり、静的イメージはキーイベントを消費しません。画像が本当に静的で、外部のプロセスによって更新されていない場合、Waitfor コマンドで更新イベントを待つことも意味がありません。
つ目の機能は、オブジェクト検索画像比較方法です。これは、特定の色または色の範囲のオブジェクトを見つけるために設計された。このアプローチは古典的なGUIコンポーネントには適さないが、地図、図面、図案などの画像システムからの低色出力ではうまく機能する。オブジェクト検索は通常、スタティックイメージクライアントを通して読み込まれたイメージ、またはターゲットイメージを表示しているライブVNCデスクトップに適用されます。
このメソッドは、指定した色のオブジェクトを正確に1つ含むテンプレートをオプションで受け付けます。指定された場合、このメソッドは、passrate パラメータで指定された比率まで、テンプレート画像の形状に似ているオブジェクトだけを残すように、配置されたオブジェクトのリストをフィルタリングします。rotationsパラメータも指定され、それが1より大きい場合、オブジェクトリストは、指定された回数回転されたテンプレート形状のリストと照合されます。これにより、「任意の回転レベルにある可能性のあるすべての緑色の長方形を検索する」といったテストタスクを構築することができます。
オブジェクトの色は color パラメータで指定します。許容されるオブジェクトの色の範囲は、tolerance パラメータで指定します。許容画像検索と似ています。これは 0 から 255 の間の数値で、ピクセルの赤、緑、青の各成分が、color パラメータで指定されたオブジェクトの色と同等であるとみなすために、最大でどの程度異なるかを示します。許容値が大きいほど、誤った形状を検出する確率が高くなることに注意してください。ほとんどのシナリオでは、回転によるぼかしなど、オブジェクトの変化の度合いに応じて、値を [0, 100] の範囲にする必要があります。パラメータが指定されていない場合、デフォルトはゼロで、アルゴリズムはソリッドカラーオブジェクトのみを検索します。アルゴリズム・パラメータの完全な仕様についてはオブジェクト検索仕様.
例として、黒いパスと緑色の三角形のオブジェクトを持つ地図のような画像を考えてみましょう:
我々の目的は、緑の三角形の数と位置を見つけることです。これはオブジェクト検索アルゴリズムと組み合わせた静的画像クライアントに最適なタスクです。スクリプトのコードを以下に示す。
# Make the script look for template images in the same dir as the script
Var _TEMPLATE_DIR="{_SCRIPT_DIR}"
# Connect to the map image.
Connect file://{_SCRIPT_DIR}/map.png
# Locate all triangles and highlight them on the screen
Compareto "triangle.png" method="object" passrate="85" rotations="40" color="01FF19" tolerance="100" draw="true"
# Pause the script to allow to review the results.
# Resuming will finish the script and clear up the drawings.
# Should you need to work with the objects further on, their number
# and coordinates are available through variables populated by the "object" method.
Pause
すべてのコマンドは同じ画像比較パラメータセットを受け付ける。T-Plan Robot Enterpriseは、単一画像またはフォルダで表される動的画像コレクションをサポートしています。スクリプトは単純なフォルダ名でコレクションを参照するので、このメカニズムにより、スクリプトコードを更新することなく、画像フォルダ内のテンプレート画像を追加、削除、編集することができます。スクリプトが実行されると、各コレクションはJavaでサポートされているロスレス形式の画像(PNG、BMP、WBMP、GIF)を再帰的に検索し、生成された画像リストに対して指定された画像比較アクションを実行します。画像コレクションは、もちろん、単一の画像や他の画像コレクションを持つ古いスタイルのセミコロンで区切られたファイルリストに自由に組み合わせることができます。詳しくは画像コレクションの仕様コマンド
Robotはまた、新しく作成されたり更新されたりしたテンプレート画像のメタデータを作成します。このメタデータファイルには、例えば画面上の元のテンプレート画像の位置が含まれており、これによりテストスクリプトはコンポーネントが移動したかどうかをテストすることができます。メタデータはまた、最終的な "検索してクリック "タイプのタスクに最適なクリックポイントも定義します。クリックポイントのデフォルトは画像の中心ですが、GUIでカスタマイズすることもできます。詳しくは画像メタデータ仕様.
リストから少なくとも1つのテンプレートが一致すると、比較はパスしたとみなされます。これにより、1つのスクリプトがさまざまな環境(オペレーティング・システム)に対して実行される場合や、検証されたコンポーネントがその状態(外観)を変更することが知られている場合など、1つのグラフィカル・オブジェクトを複数の画像で表現することができます。
ファイルシステム内のテンプレートイメージのデフォルトの場所は_TEMPLATE_PATH変数によって定義され、デフォルトはユーザーのホームフォルダーです(Preferences-%26gt;Scripting-%26gt;Languagewindowで設定可能)。相対的な方法で指定されたすべてのテンプレート画像とコレクションは、このディレクトリに対して解決されます。フォルダをカスタムロケーションに設定するには、Varコマンドを使ってスクリプトの最初に変数を設定するだけです。お気に入りのトリックは、画像をテストスクリプトと同じフォルダに入れ、テンプレートパスを次のようにこの場所に設定することです。これにより、固定ファイルパスに依存しない再配置可能なテストスイートを作成できます。
Var_TEMPLATE_DIR= "{_SCRIPT_DIR}"
以下のようになります。比較対象,スクリーンショットそしてWaitForウィンドウがあり、コマンドを簡単に作成・管理したり、テンプレート画像を作成・編集することができます。画像とコマンドはコンポーネントキャプチャ機能によって生成することもできます。個々のパラメーターの完全な仕様については、ウィンドウのヘルプまたはCompareToコマンド仕様.