capture
Component Capture
1. 概要
コンポーネントキャプチャは、スクリプト開発者が簡単な方法で自動化されたスクリプト化されたアクションを生成するのに役立ちます。この機能は 4.0 リリースで更新されましたが、従来の 3.x 機能も引き続き利用できます。
コンポーネントキャプチャ v4 は、3 または 4 つの簡単なステップでターゲットアクションを作成するウィザードを使用します。
コンポーネントキャプチャ v3 は、単一の画面ダイアログを使用します。このプロセスはより高速ですが、ユーザーフレンドリーさは劣り、公開されるアクションパラメータも少なく、「色で検索」や OCR アクションには直感的ではありません。
v4 ウィザードと v3 ダイアログの両方に、もう一方のバージョンに切り替えるボタンがあります。この設定は記憶され、ユーザーが再度バージョンを切り替えない限り、選択したキャプチャバージョンがすべてのアクションに使用されます。
コンポーネントキャプチャは、キャプチャツールバーボタン 
またはスクリプトメニューの対応する項目を通じて有効化されます。
2. Version 4
キャプチャツールバーボタン

を選択すると、コンポーネントキャプチャウィザードが開きます。最初のアクションタイプ画面では、アクションタイプとサブタイプを選択できます。

サポートされているタイプ:
画像によるコンポーネントの検索 は、「 search2」画像比較方式に基づくアクションを作成します。テンプレート画像で画面上のコンポーネントを検索します。
色によるコンポーネント検索は、指定された色、最小サイズ、最大サイズでコンポーネントを検索します。これは 「object」画像比較メソッド に基づいています。
テキスト認識のために OCR を実行 は、OCR エンジンを使用してテキストによってコンポーネントを識別します。「tocr」画像比較方式 を使用します。
アクションサブタイプは、コンポーネントを識別するために使用される画像比較コマンドを定義します。
最初の 「 Find <subj>" サブタイプは、1 回限りの比較を実行する Compareto コマンドの呼び出しを生成します。
2番目の「<subj>が表示されるまで待機」サブタイプは、Waitfor matchコマンドを利用し、コンポーネントが識別されるか、指定されたタイムアウトに達するまで比較を繰り返し実行します。
2つ目の 「<subj> が消えるまで待機」 サブタイプは、Waitfor mismatch コマンドを使用して、コンポーネントが画面から消えるか、指定したタイムアウトに達するまで比較を繰り返し実行します。
選択したアクションでテンプレート画像が必要な場合(たとえば、画像によるコンポーネントの検索 など)、ウィザードは コンポーネント画像 画面に進みます。この画面は、画像が既知の場合(例えば、プロジェクトビューの コンポーネント画像 ブランチに表示されている既存の画像や画像コレクションに対してウィザードが開かれた場合など)には表示されない場合があります。
|
この画面では、検索に含めるテンプレート画像および/または画像コレクション(フォルダ) を定義するための一連の操作をサポートしています。その機能は、プロジェクトビューのコンポーネント画像ブランチと似ています。
新しいコレクション(画像フォルダ)を作成するには、新しいコレクションをクリックします。
現在のデスクトップ画面から新しいコンポーネント画像を作成(切り抜き)するには、新規画像をクリックします。
続行するには、ツリー内で1つ以上の画像または画像コレクションを選択し、次へ
次のパラメータ画面は動的に表示され、選択したアクションタイプとサブタイプ(選択した比較方法とコマンド)のパラメータを表示します

最終画面では、識別されたコンポーネントに対する処理を定義します。コンポーネントのクリック、右クリック、ダブルクリックを実行するか、単にコンポーネントの存在を確認するだけのアクションを選択する複数のオプションがあります。また、コンポーネントが見つからない場合、画面上に複数のインスタンス(一致位置)が存在するケース、あるいはコンポーネントの位置が元の位置と異なる場合のエラー処理も定義可能です。

3. Version 3
コンポーネントキャプチャ v3 は、通常、現在のデスクトップ画像からコンポーネント(ボタン、フィールド、テキストなど)の画像を切り取り、プロジェクトテンプレートフォルダに保存し、その画像で動作するコードをアクティブなスクリプトエディタに生成するために使用されます。「色で検索」や OCR アクションにも使用できますが、アクションを制限するために(いわゆる「比較領域」として)使用する最初のカット領域選択画面をユーザーが通過する必要があります。

コンポーネントキャプチャモードを有効にするには、ツールバーの「コンポーネントキャプチャ」
ボタン、または「ツール」 ->コンポーネントキャプチャメニュー項目を選択します。デスクトップ画像はデフォルトのキャプチャ領域を除き、フリーズして灰色に変わります。キャプチャモードをキャンセルするには、ボタンまたはメニュー項目を再度クリック(選択解除)してください。キャプチャ領域を調整するには、その角または点線の側線をドラッグします。領域を移動するには、Ctrl、Alt、またはShiftキーを押しながらマウスをドラッグします。パフォーマンス向上と精度向上のため、コンポーネント画像は可能な限り小さく作成することを推奨します。
キャプチャ領域中央にある赤い十字はクリックポイントと呼ばれます。これもドラッグ可能で、画面上でコンポーネントが見つかった際のクリック位置を定義します。クリックポイントはキャプチャ領域外へドラッグすることもでき、「コンポーネントからこの方向とこの距離にあるXYポイントをクリックする」といったタスクの自動化に利用できます。
キャプチャ領域とクリックポイントの位置に問題がなければ、[OK] ボタンを選択してコンポーネントキャプチャウィンドウに進みます。
選択中に、赤い十字の [キャンセル] ボタンをクリックすると、現在のキャプチャ領域をキャンセルすることができます。別の場所で領域を再作成するには、画像上でマウスをドラッグするだけです(マウスの左ボタンを押しながらマウスを移動)。操作全体をキャンセルするには、右端の終了ボタンをクリックしてください。
コンポーネントキャプチャウィンドウでは、ターゲットとなるテンプレート画像ファイルと、スクリプトによって実行されるタスクを定義します

最初のグループは、選択した領域 に対して実行するタスク を定義します。これは、画像検索 の目的でテンプレート画像として保存したり、OCR または オブジェクト検索 の対象領域として使用したりすることができます。一部のアクションには、ドロップダウンの下に動的に表示される追加のパラメータがあります。たとえば、「コンポーネントが表示されるまで待機してクリックする」アクションには、設定可能なタイムアウトがあります。
2番目のコントロールグループは、コンポーネント画像ファイルのコレクション、名前、およびターゲットフォルダを指定します。選択したタスクが OCR またはオブジェクト検索の場合、このグループは表示されません。画像コレクションフィールドはオプションで、コンポーネント画像用の新しいサブフォルダ(コレクション)を作成することができます。ドロップダウンには、ターゲットフォルダ内の利用可能なフォルダが事前に入力されています。コレクションが定義されると、画像比較は指定されたディレクトリ(またはそのサブディレクトリ)内のすべての画像を処理します。コレクションの詳細については、スクリプト言語仕様の画像コレクションの章を参照してください。画像名は必須であり、拡張子なしの画像ファイル名を定義します。形式と拡張子は、フィールド横の「拡張子」ドロップダウンから継承されます。ターゲットフォルダは、デフォルトでスクリプト内のTEMPLATE_DIR変数で定義されたテンプレートディレクトリに設定されます。このディレクトリ配下の画像やコレクションは相対パスで呼び出されます。例えば、図に表示されているパラメータは、_C:\MyAutomation\templates テンプレートパス下に新しいコンポーネント画像 desktop_icon.png を作成するようウィンドウに指示しています。
3番目のグループは、タスクが 正常に完了した 場合、 具体的には、コンポーネントが検出された場合(画像検索タスク)、OCRが対象領域のテキスト認識に成功し(任意でパターンとの照合を含む)、または指定された色のオブジェクトが領域内で少なくとも1つ検出された場合です。最も一般的なアクションはマウスクリックです。
4番目のグループは、コンポーネントが画面上で検出されなかった場合の処理を指定します。前の制御グループと同様に、事前定義されたアクションのセットを含むドロップダウンがあります。図で選択されているアクションは、スクリプトを終了コード1で終了させます。
5番目のグループは、画面上でコンポーネントの複数のインスタンスが見つかった場合の処理を定義します。サポートされているアクションのリストは、前のグループで利用可能なものと同様です。図で選択されているアクションはカスタム警告コマンドを呼び出し、スクリプトレポートに警告メモを生成します。
最後のグループはコンポーネントの位置変更を扱います。コンポーネントの元の座標は画像ファイルのメタデータに保存されるため、スクリプトではコンポーネントが移動したかどうかの判定と、それに連動するアクションの設定が可能です。図で選択されているものは、位置変更をすべて無視します。
ウィンドウを閉じ、コンポーネント(テンプレート)画像を保存し、対応するスクリプトコードをアクティブなエディタに挿入するには、OK ボタンを選択します。キャプチャ領域のある前のデスクトップビューに戻るには、戻るをクリックします。ウィンドウをキャンセルし、変更をすべて破棄してコンポーネントキャプチャモードをオフにするには、キャンセルを選択します。このヘルプトピックを開くには、ヘルプを選択してください。
例:上記のウィンドウをOKで閉じると、アクティブなエディタに以下が挿入されます:
WaitFor match template="desktop_icon.png" method=search2 timeout=20s
if ({_EXIT_CODE} > 0) {
Exit 1
} else if ("{_SEARCH_MATCH_COUNT}" > 1) {
Warning "The Avast icon was found {_SEARCH_MATCH_COUNT} times!"
} else {
Mouse click to=x:{_COMPARETO_CLICK_X},y:{_COMPARETO_CLICK_Y}
}