画像更新パネル
画像更新パネルは、ランタイム中およびランタイム後に以前に存在した画像の管理、変更、作業を支援します。これらのパネルは、画像またはテキストの検索が失敗したときにトリガーされます。検索が失敗した場合、選択した設定に応じて、画像更新パネルまたは自動更新パネルが表示されます。
画像更新パネルは、検索の失敗時にランタイム中に表示されます。このパネルを使用すると、既存の画像検索設定を変更したり、新しい画像をキャプチャしたり、コレクションを作成したり、以前に存在した画像を置き換えてスクリプトの実行を続ける前に検索の失敗を修正することができます。自動更新パネルは、画像検索の失敗が発生したスクリプトの実行後に表示され、Eggplant Functionalが対策を見つけて検索設定を修正し、一致を見つけます。これらの変更は、スクリプトとアセットに自動的に保存することができます。
画像更新パネルを有効にするためのメニューオプションは、OCR更新パネルにも適用されます。
画像検索設定と診断検索の選択については、画像ビューアページの画像診断セクションを参照してください。
画像更新パネルの有効化
画像更新パネルを使用すると、スクリプトの実行中に画像が見つからない場合に画像診断を行い、画像検索を修正することができます。選択した設定によっては、このパネルが表示され、スクリプトが予期しない画像の複数のインスタンスが見つかった場合にも、自動更新機能をトリガーでき、スクリプトの実行中に画像に対して行った変更を保存することができます。
**Guided Update (Show Panel)**オプションを選択すると、ランタイム時に画像更新パネルが表示されます。**Auto Update (Log Changes)**が選択されている場合、スクリプトの実行後に自動更新パネルが表示されます。実行メニューオプションは、画像更新パネルとOCR更新パネルの両方を制御します。
Run > Image Updateメニューで表示されるオプションを調整することで、メインメニュー上で画像更新パネルと関連する自動更新パネル機能を有効にすることができます。
Run > Image Updateの下にある画像更新パネルメニュー
Eggplant Functionalでは、Auto UpdateとValidate Successful Image Searchesを同時に有効にすることができます。これを行うと、システムはすべての検索でAuto Updateを実行し、スクリプトの実行を非常に遅くする可能性があります。
画像更新メニューを使用する際の選択肢は次のとおりです。
画像またはテキストが見つからない場合
-
Update Off (Throw Exception): Eggplant Functionalは例外をスローし、画像または光学文字認識(OCR)検索が一致を返さないとスクリプトが失敗します。画像更新機能は使用されません。
-
Guided Update (Show Panel): このオプションは、画像検索が失敗したときにランタイム中に画像更新パネルを開き、適切な一致を見つけるための設定を調整できるようにします。このオプションを使用すると、画像更新パネルを対話式に使用でき、テキストの一致に最も完全な制御を提供します。この方法は、出席者がいるスクリプトの実行に最適です。このオプションは、以前はパネルを表示(手動更新)と呼ばれていました。
-
Auto Update (Log Changes): Eggplant Functionalは警告をログに記録し、見つからなかった画像またはテキストを見つけるためにさまざまな診断を実行します。新しい設定で画像が見つかった場合、使用した設定をログに記録し、その新しい設定を使用してスクリプトの実行を続けます。実行設定パネルのAsset HealingセクションからAuto Apply を選択すると、修正が適用されてスクリプトに保存されます。これにより、将来のスクリプト実行のための画像検索設定が変更され、その画像を使用する他のテストに影響を与えます。
先端自動アセットヒーリングはEggplant Functional 21.0.0から利用可能です。
Identify Remedyが選択されているが、自動適用は選択されていない場合、スクリプト実行中に行われた変更は現在のスクリプトのみに適用されます。スクリプトの実行が終了すると、自動更新パネルが表示され、どの変更を保存するかを決定することができます。これらの変更を適用すると、将来のスクリプト実行のため の画像検索設定が変更され、その画像を使用する他のテストに影響を与えます。変更を適用する際には、画像検索設定に保存された変更がスクリプトと競合する可能性があるため、テストを確認し、画像がどこで使用されているかを確認してください。
自動更新パネルの使用についての詳細は、自動更新パネルの使用を参照してください。
複数の出現が見つかった場合
- Use First Location: Eggplant Functionalが見つけた画像の最初のインスタンスを使用します。
- Show Panel: 画像更新パネルは、「複数のインスタンスが見つかりました」というメッセージを表示し、設定を対話的に変更し、見つかった複数のインスタンスをどのように処理するかを指定できます。
- Log Warning: スクリプトの結果に警告をログに記録します。これはスクリプトの結果に影響を与えませんが、スクリプトの結果に記録されます。
- Throw Exception: 例外をスローし、実行中のスクリプトを失敗させます。これはスクリプトの結果に記録されます。
その他のアクション
これらのオプションは、メインパネルの設定が画像またはテキストの検出失敗に対する応答を**Guided Update (Show Panel)**に設定されている場合にのみメッセージを表示します。画像/テキストが見つからない場合を参照してください。
-
**Validate ImageFound:**スクリプトが
Imagefound(<image_name>)
を含み、Eggplant Functionalが指定された画像またはテキストに一致するものを見つけることができない場合、検証メッセージ "ImageFound() Will Return False"と共に画像更新パネルが表示されます。その後、パネルと対話して、テキストや画像が見つからない場合の対処方法を決定することができます。 -
Validate Successful Image Searches: スクリプトが
ImageFound
関数、例えばImageFound(<image_name>)
を含み、指定されたテキストや画像が成功裏に見つかった場合、検証メッセージ "Validate Image Found"と共に画像更新パネルが表示されます。 成功した画像検索の検証は、Eggplant Functionalが正しい画像を見つけていることを確認する必要がある稀な状況で役立つことがあります。たとえば、 視覚的な要素が新しいUI要素に合わせて更新され、スクリプトがまだ古い画像に一致するものを見つけていないかどうかを確認するために、Validate Successful Image Searchesを使用することができます。注記このメニューアイテムを選択すると、ValidateSuccessfulSearches グローバルプロパティのデフォルト設定が
On
に変更されます。
画像更新パネルの使用
Image Updateパネルは、以下で詳しく説明する3つのタブで構成されています。Startタブ、Diagnosticsタブ、およびPropertiesタブです。各タブでは、Eggplant Functionalのスクリプトをより成功させるための調整が可能です。
Image Updateパネルのすべてのタブには、Manual Updateドロップダウ ンメニューが含まれています。Manual Updateドロップダウンメニューには、Image Updateパネルの有効化で説明されているImage Updateオプションの選択肢が含まれています。Image Updateオプションを変更すると、新しい設定でスクリプトを続行するためにTry Againをクリックする必要があります。
Startタブ
Image UpdateパネルのStartタブ
Image Updateパネルが開くと、Startタブが表示されます。パネルのSuggested Remediesセクションでは、Eggplant Functionalが実行する以下の診断検索に基づいて、見つからない画像を修正または置換するためのオプションが提供されます:
-
Standard Search: 元の仕様を使用して画像を再検索します。この検索の結果は、画像が最初の画像が見つからなかった後に表示されたことを意味します。この結果の大半は、画像が表示されるのにもっと時間をかける必要があるため、スクリプトのステップのタイミングを調整する必要があることを意味します。
-
Dynamic Tolerance: RGB色の許容範囲を特定の増分(デフォルト= 5)で増やしながら画像を検索します。この診断の結果は、画像のRGB値が変化したことを意味します。
-
Alternate Types: 異なるSearchType フィルターを使用して画像を検索します。これらは
Smoothed for Text
、Adaptive to Image
、Pulsing to Element
、およびSmooth and Pulsing
です。画像がテキストベースの場合、Smoothed for Text
を示す結果は、テスト対象のシステム(SUT)がテキストでアンチエイリアシングを使用していることを示します。Pulsing to Element
またはSmooth and Pulsing
の結果は、画像の背景部分がパルス効果を持っているか、あるいは変数のグラデーションなどの別の効果を持っていることを示します。これらの検索タイプの詳細については、Search Typeを参照してください。 -
Scaling Search: 元の画像とは異なるスケールで画像を検索します。
-
Discrepancy Search: 画像のピクセルの一部が異なることを許容しながら検索を実行します。画像とViewerウィンドウのマッチング部分が異なることができるピクセルのパーセンテージ(パーセント記号付き)またはピクセル数(パーセント記号なし)です。
注記Discrepancyは使用するのが遅く、偽陽性のマッチングが発生する可能性があります。Image UpdateパネルでSearch TypeをSmoothed for Textに設定する、Image Editorを使用して画像を切り取る、または基本画像の複数の許容可能なバージョンを含むImage Collectionを作成するなどの方法が推奨されます。現在の画像がDiscrepancy検索を使用しないと見つけることができない場合は、新しい画像をキャプチャすることもできます。
-
OCR Search: 元のキャプチャ画像をテキスト用にスキャンし、その後そのテキストを検索します。たとえば、元の画像が
Search
と書かれたボタンである場合、この検索はOCRを使用して画面上のSearch
という言葉を検索します。 -
Prior Location: 現在のコード行が成功して実行された現在のスクリプトの結果を参照します。このテストの成功した実行時に画像が見つかった画面上の場所をハイライトします。この検索が使用する結果は、任意のスクリプトのスイートの結果部分でMark As Prior Runボタンを使用して手動で指定することができます。
注記この修正は、Image UpdateパネルメニューがAuto Update (Log Changes)オプションを使用するように設定されていて、かつ、Run preferencesページでAuto Applyが選択されている場合には使用できません。
-
Original Location: 画像が最初にキャプチャされた位置の座標ペアを参照します。
注記この修正は、Image UpdateパネルメニューがAuto Update (Log Changes)オプションを使用するように設定されていて、かつ、Run preferencesページでAuto Applyが選択されている場合には使用できません。
-
Crop Edges: 画像を次第にクロップしながら、小さくなる画像を検索します。画像の内部が画面上の他のものと一致しない限り、エッジは重要では ありません。
-
MatchingDOM: DOMプロパティを使用してアセットを検索します。この検索タイプはモバイルWebDriver接続のみで動作し、モバイルプラットフォーム間でのテストに有用です。Asset Healingを使用している場合、この検索タイプは利用できません。
Image Updateパネルに表示される修正は、現在のSUTスクリーン上で画像が一度だけ
見つかるようにするか、スクリーン上の特定の位置で新しい画像をキャプチャする可能性を提供します。各オプションは、使用した場合に現在のスクリーンからキャプチャされる画像を表示します。
提案された修正を選択すると、その診断結果の色でSUTスクリーン上にハイライトされた矩形が表示されます。Remedyドロップダウンリストは、選択したオプションに応じて変わります。利用可能な修正策は次の通りです:
- Apply Fix: このオプションは、現在の画像に選択された修正を実行します。
- Replace Image: このオプションは、画像のプロパティを変更せずに自動的に画像を再キャプチャします。その後、検索が再度実行されます。
- Add Representation: このオプションは、新しい表現の画像を現在のスイートに追加します。新しい表現は、元の画像と同じコレクションに追加され、Eggplant FunctionalはNew Representationフィールドで画像の名前を提案します。
- Capture to Helper: このオプションは、目的の画像の新しいバージョンをキャプチャし、ヘルパースイートに保存します。このオプションを選択すると、ドロップダウンメニューが表示され、画像をキャプチャするための利用可能なスイートが一覧表示されます。
Remedyアクションをドロップダウンリストから選択し、Do Thisをクリックします。上記のオプションについては、Eggplant Functionalが画像を修正し、検索を再度試みます。
Standard Searchを修正として選択した場合、Remedyアクションはどれも有効化されません。Do Thisをクリックすると、再試行する前にスクリプトのタイミングを変更するように警告を記録します。
New Representationフィールドに名前を入力します。この画像の新しい表現をコレクションに追加することを選択した場合、このフィールドの名前が使用されます。このフィールドで使用される命名規則を変更すると、それ以降の画像更新に覚えておく。
The Diagnostics Tab
Diagnosticsタブでは、診断検索の結果がリストされ、画面上で画像を見つけるために何が調整できるか、またはどの種類の検索が使用できるかを確認できます。リストされているオプションは、上記で説明したStartタブのオプションと相関しています。
Fix、Recapture、またはAdd Rep(Add Representationの略)ボタンを使用するには、肯定的な結果を返した適切な診断検索を選択します。たとえば、以下の例では、Original Locationを使用して画像をFixできます:
診断タブ、Scaling Searchが選択されています
次の例では、Original Locationの選択によりRecaptureとAdd Repのオプションが利用 可能になります:
画像更新パネルの診断タブ
Recaptureは、選択した検索タイプが画像を見つけている場所で再度画像を取得します。Add Repは、画像の表現を画像コレクションに追加したり、存在しない場合はコレクションを作成します。
プロパティタブ
画像更新パネルに表示されるプロパティタブ
Propertiesタブを使用して、スイート内のキャプチャされた画像の状態を恒久的に変更することなく、異なる画像設定を手動で調整します。このパネルでSearch Type、Tolerance、Discrepancy、Scale、およびRotateの値を変更し、Enterを押して現在のアクティブな接続を検索し、最適な設定を確認します。元の設定は赤で右側に表示されます。画像を恒久的に修正するには、Save Changesをクリックします。元の設定に戻すには、Revert Changesをクリックします。
Viewerウィンドウでの画像の操作
画像更新パネルの診断検索中のViewerウィンドウ
画像が見つからないか、画像の複数のインスタンスが見つかった場合、画像更新パネルが表示され、様々な診断検索が実行されます。結果はリモートスクリーンウィンドウにハイライト表示されます。診断検索のいずれかで画像が見つかった場所のSUTの画面上のすべての位置に対応する色のボックスが表示されます。
これらのカラフルな四角の上にマウスカーソルを置くと、四角が白く変わります。
Viewerウィンドウでハイライト表示された画像一致
クリックすると、キャプチャエリアがそのボックスにスナップし、その選択を使用して画像コレクションの表現を追加したり、画像更新パネルで作業中の現在の画像を修正したりできます。
Viewerウィンドウで選択された画像一致
このインスタンスでキャプ チャエリアの右側にある矢印をクリックすると、次のドロップダウンメニューが表示されます:
オプションは次のとおりです:
- Add Representation and Try Again: 選択した画像キャプチャ範囲を使用して画像をキャプチャし、現在のコレクションに追加するか、現在の画像と新たにキャプチャした画像を使用してコレクションを作成します。次に、新しい/更新された画像コレクションで再度検索を試みます。
- Add Representation: 選択した画像キャプチャ範囲を使用して画像をキャプチャし、現在のコレクションに追加するか、現在の画像と新たにキャプチャした画像を使用してコレクションを作成します。
- Recapture and Try Again: 選択した画像キャプチャ範囲を使用して画像をキャプチャし、現在の画像をこの新しい画像で置き換えます。次に、新たにキャプチャした画像で再度検索を試みます。
- Recapture: 選択した画像キャプチャ範囲を使用して画像をキャプチャし、現在の画像をこの新しい画像で置き換えます。
- Capture Image: 選択した画像キャプチャ範囲を使用して画像をキャプチャし、保存する前に画像の名前を付けたり、必要な他の設定を調整したりするための画像キャプチャパネルを表示します。
- Show Update Image Panel: 現在表示されていない場合は、画像更新パネルを表示します。
- Hide Highlight Rectangles: 検索後に表示されるハイライトされた矩形を非表示にします。
キャプチャエリアの右側の矢印は、CommandキーまたはControlキーを押しながらホットスポットをキャプチャエリアに対して相対的に移動すると無効になります。この動作により、OCR検索で行われる可能性があるような、キャプチャした画像を使用して検索矩形を作成する場合に特に、ホットスポットのより精密な配置が可能になります。
Auto UpdateパネルとAsset Healingの使用
Run > Image Update から Auto Update (Log Changes) を選択してAuto Updateパネルを有効にします。このパネルはすべてのスクリプトの実行の最後に表示され、その実行でAsset Healingを使用して見つけられたすべての失敗した検索インスタンスを提示します。画像やテキストが見つからない場合、Auto Updateはその画像やテキスト検索の設定に対して対策を探し、スクリプトの実行中に一致を見つけるためにそれらを適用します。場合によっては、画像の更新が自動的に適用され保存されることもあります。
これらのインスタンスごとに、見つからなかった画像またはテキストがパネルの左上隅に表示され、そのテキストまたは画像を見つけるためにAuto Updateがスクリプトの実行中に使用した設定とともに表示されます。検索の失敗時のSUTのスクリーンショットはパネルの下部に占められます。このスクリーンショットでは、見つかった画像またはテキストの位置と、利用可能な場合は元の位置も表示されます。
Auto Updateパネルは、スクリプトの実行に対する対策を表示します。Identify Remedy のみを選択した場合、修正された画像と、変更を永続的にするかどうかを決定するための Apply ボタンが表示されます。Auto Apply を選択した場合、修正された画像と Changes Applied が表示されます。Eggplant Functionalはあなたの画像を変更し、それらの変更を永続的に保存しました。
自動Asset Healing
Eggplant Functionalが自動的に適用するように設定された対策を使用する場合、必要な変更を行い、それらを将来の使用のために画像に保存します。Asset Healingを有効にするには、実行設定タブのAsset Healingセクションで、使用したい検索タイプの隣 にあるAuto Applyチェックボックスを選択します。スクリプトの実行が終了すると、Auto Updateパネルが開き、どの診断対策がスクリプトの成功のために使用されたかを表示します。診断対策の閾値は実行設定タブで定義します。これらの閾値により、自動アセットヒーリングが可能となります。
自動Asset Healingを使用して行われた変更は、画像のプロパティを変更し、Save as new Image Repが無効になっている場合は永続的に保存します。これは、その画像が使用されるすべてのスクリプトに影響します。
自動Asset Healingは、Eggplant Functional 21.0.0から利用可能です。
Asset Healing