Compareto Command
3.2.4 Compareto
Compareto - Compareto コマンドは、現在のリモート・デスクトップ・イメージと、指定されたイメージ比較方法を使用した単一のイメージまたはimage collectionの比較を 1 回だけ実行するためのものです。オプションのアクションは、"onfail" と "onpass" パラメータ、または if/else 構造を使用したコマンド終了コードのテストにより、結果に基づいて実行されます。T-Plan Robot 4.4.2Betaには6つの画像比較メソッドがあります。Image Comparison Capabilities章で詳しく説明します:
画像検索 v2 (search2v3.0以降)は "search "メソッドの後継で、テンプレート画像(複数可)で表されるオブジェクトをデスクトップ画面から許容範囲内で検索します。
画像検索 (searchv2.0以降)は、テンプレート画像(複数可)で表されたオブジェクトを、デスクトップ画面から許容範囲内で検索します。
オブジェクト検索 (objectv2.2 以降) は、画面上のオブジェクトを、単一の RGB カラーまたは類似のカラー範囲で検索します。
テキストOCR (ocr 2.2 以降) は、選択した OCR エンジンを使用して、デスクトップ画像の光学式文字認識 (OCR) を実行します。
画像ベースのテキスト認識 (text 3.0以降) は、事前に保存された文字画像のコレクションを使用して、画面からテキストを抽出します。
ヒストグラム・ベースの比較(codedefault v2.0以降)は、デスクトップ画像と指定されたテンプレート画像のヒストグラムを比較するレガシーアルゴリズムです。
メソッド固有の変数の他に、コマンドは以下のようにCOMPARETO接頭辞付き変数のセットを入力します:
変数名 | 変数名 |
|---|---|
_COMPARETO_TEMPLATE=<file> | 最後の画像比較に使用された画像ファイル(絶対パス)。 |
_COMPARETO_RESULT=<number> | 比較結果のパーセンテージ。常に0から100の間の数値です。比較に使われた方法が出力結果をサポートする場合、画像がどれだけ一致したかを示します。 |
_COMPARETO_PASS_RATE=<number> | 最後の画像比較で使用された合格率のパーセンテージ。常に0から100の間の数値である。 |
_COMPARETO_TIME_IN_MS=<milliseconds> | 画像比較に費やされた時間(ミリ秒)。テンプレートのリストがある場合、値は実行された全ての比較の要約時間を表します。 |
_COMPARETO_TEMPLATE_INDEX=<number> | パス結果を生成したテンプレートリスト内のテンプレートのインデックス。インデックスは0から始まります。 |
_COMPARETO_TEMPLATE_WIDTH=<number> | 比較に成功すると、変数は一致するテンプレート画像の寸法を含みます。2.0.2からサポートされています。 |
_COMPARETO_SOURCE_X=<number> | 最後に比較されたテンプレートのソース座標。これらの変数は、バージョン2.2以降で作成されたテンプレートにのみ設定されます。 |
_COMPARETO_CLICK_X=<number> | 最後に比較したテンプレート画像のクリックポイント。デフォルトの座標は、"search "画像比較アルゴリズムによって位置づけられたコンポーネントの中心、またはカスタム相対位置を指します。 |
このコマンドはさらに、定義されていれば画像コレクションからロードされた画像の処理順序を制御する1つの入力変数をサポートします:
変数名 | 変数名 |
|---|---|
_COMPARETO_SORT_MODE=<number> | ディレクトリから読み込まれたテンプレート画像に適用されるソートモード。 |
画像比較をより信頼性の高いものにするために、この章で列挙されている要素を考慮してください。 Image Comparison Recommendations の章を参照してください。画像比較の中央障害点を設定する方法については、 ComparisonFailureFallbackを参照してください。 Fallback Procedures.
コマンドによって生成されたHTMLレポートに比較結果を表示するには Report コマンドによって生成される Screenshot.画面がテンプレート画像と一致するまで待ちたい場合は、'Waitfor match'. Screenshot と 'Waitfor match' の両コマンドは、内部的に Compareto コマンドのメソッドを使用し、同じパラメーターをサポートします。
SYNOPSIS
compareto <image_collection>[passrate=<pass_rate_in_%>] [onpass=<command>] [onfail=<command>] [method=<comparison_method>] [methodparams=<custom_params>] [cmparea=[x:<x>][,y:<y>][,w:<width>][,h:<height>]] [<method_specific_params>]
赤色は必須パラメーターを示します
オプション
image_collection
-Image Collections- リモートデスクトップイメージと比較する 1 つ以上のイメージファイル名、またはイメージをセミコロン (';') で区切ったフォルダ。Linux/Unix では、ファイル名にセミコロンが含まれていないことを確認してください。ファイル名には、相対パス(img.png など)または絶対パス(/root/report/img.png など)を指定できます。相対パスを使った場合、画像は_template_dir variable.サポートされる画像フォーマットは、Javaのバージョンに依存します。Java 1.6では、少なくともPNG、JPG、GIF、BMPをサポートしています。
テンプレート画像は、指定されたリスト順序でリモートデスクトップ画像と比較されます。テンプレートの比較で肯定的な結果(指定されたイベントに応じて、一致または不一致のいずれか)が得られた場合、条件は満たされたとみなされ、コマンドは終了コード0で終了し、リスト内の残りのテンプレートをスキップします。定義済み変数 _COMPARETO_TEMPLATE_INDEX は、マッチするテンプレート画像のインデックスを決定するために使われます。対応する変数の一覧はimage comparison variablesを参照してください。
passrate=<pass_rate_in_%>
-画像比較の通過率。これは0から100の間の数値でなければならず、その後にパーセンテージ文字(例えば "passrate=95 "や "passrate=95%")を付けることもできます。このパラメータが省略された場合、メソッドまたはRobot環境設定で定義されたデフォルトの通過率が使用されます(デフォルト値は "default "メソッドで95%、"search "および "search2 "メソッドで100%)。
onpass=<コマンド>
-比較が成功した(選択されたメソッドが成功を報告した)ときに実行されるコマンド。単一のコマンドでなければなりません。一連のコマンドを呼び出して、プロシージャまたは 後続の If/Else Statement コマンドの終了コードをテストします。
onfail=<コマンド>
-比較に失敗した(選択されたメソッドが失敗を報告した)ときに実行されるコマンド。これは1つのコマンドでなければなりません。実行される一連のコマンドを定義する必要がある場合は、プロシージャを使用してください。
method=<comparison_method>
-画像比較に使用するメソッド(アルゴリズム)。の章で説明されているサポートされているメソッド名(コード)のいずれかでなければなりません。Image Comparison Capabilities章で説明されているサポートされているメソッド名(コード)のいずれか、またはプラグインインターフェイスで有効になっているサードパーティのメソッド名でなければなりません。省略した場合、コマンドはデフォルトのものを使用します。
methodparams=<custom_params>
-画像比較アルゴリズムに渡すカスタムパラメータ。T-Plan Robot 2.0のデフォルトの画像比較アルゴリズムはカスタムパラメータをサポートしていませんので、独自のアルゴリズムを作成しない限り、このパラメータを指定する必要はありません。
cmparea=[x:<x>][,y:<y>][,w:<幅>][,h:<高さ]
-比較を制限するデスクトップの矩形領域。このパラメータを省略すると、リモートデスクトップ全体が処理されます。領域座標の形式は「x:,y:,w:,h:'」で、各座標はピクセル単位(例えば「x:225」)またはパーセント単位(「x:23%」)で指定できます。x,y,width,heightのいずれかが省略された場合、T-Plan Robotはフルスクリーンの値を用いて足りないパラメータを決定します(x:0, y:0, w:, h:)。
メソッド固有のパラメータ
-サポートされるメソッド固有のパラメータのリストについては、個々の comparison methods のドキュメントを参照してください。
戻り値
このコマンドは、比較が成功した場合は0(ゼロ)、失敗した場合は1、テンプレート画像が見つからないか読み込めない場合は2を返します。
例
Compareto netscape.png passrate=95% onfail="exit 1"
現在のリモートデスクトップの画像と画像 netscape.png を「デフォルト」の画像比較方法で比較します。95%以上一致しない場合は、Exitコマンドを使用してスクリプトの実行を終了し、終了コード1を返します。
Compareto button1.png;button2.png method=search
if({_EXIT_CODE} == 0) {
Mouse click to="x:{_SEARCH_X}+5,y:{_SEARCH_Y}+5"
}
リモート・デスクトップ画像を検索して、
button1.pngまたはbutton2.png のいずれかに一致するボタンを探します。見つかったらクリックする。このコマンドは、ボタンの真ん中をクリックするように、xとyの座標に5ピクセルを加えます。
compareto "search.png" method="search"
for(i=1; {i}<{_SEARCH_MATCH_COUNT}+1; i={i}+1) {
# 入れ子の変数は、接尾辞とインデックスの変数名で構成される
Mouse click to=x:{_SEARCH_X_{i}},y:{_SEARCH_Y_{i}}
}
search.pngテンプレート画像で表されるアイコンをリモートデスクトップ画像から検索し、出現したアイコンをクリックします。
Var _TOCR_LINE_COUNT=0
Compareto method="tocr"cmparea="x:33,y:2,w:200,h:22"
for (i=1; {i}<{_TOCR_LINE_COUNT}+1; i={i}+1) {
Typeline "{_TOCR_LINE{i}}"
}
OCR を使用して指定されたデスクトップ領域からテキストを抽出し、デスクトップにタイプします。
Compareto method="tocr"cmparea="x:33,y:2,w:200,h:22" pattern="[aA]pplication.*"
if ({_EXIT_CODE} > 0) {
Exit 1
}
Tesseract OCRで認識されたテキストが「Application」または「application」のどちらかで始まらない場合、正規表現を使ってスクリプトを終了します。
Compareto method="object"color="FF0000" draw="true"
画面上のすべての赤色のオブジェクト(RGB = (256, 0, 0))を見つけ、GUIでハイライトします。
Compareto circle.pngmethod="object"color="00FF00" tolerance="100" passrate="80%" draw="true" rotations="30"
circle.pngの画像と80%以上似ている緑色のオブジェクトをすべて見つけ、GUIでハイライトします。toleranceパラメータは、許容可能な緑色のパレットのサイズを定義します。rotationsパラメータが30に設定されているので、アルゴリズムは12度ステップ(360度÷30)で回転したオブジェクトを画面上で検索します。