画像更新パネル
画像更新パネルは、ランタイム中およびランタイム後に以前に存在した画像の管理、変更、作業を支援します。これらのパネルは、画像またはテキストの検索が失敗したときにトリガーされます。検索が失敗した場合、選択した設定に応じて、画像更新パネルまたは自動更新パネルが表示されます。
画像更新パネルは、検索の失敗時にランタイム中に表示されます。このパネルを使用すると、既存の画像検索設定を変更したり、新しい画像をキャプチャしたり、コレクションを作成したり、以前に存在した画像を置き換えてスクリプトの実行を続ける前に検索の失敗を修正することができます。自動更新パネルは、画像検索の失敗が発生したスクリプトの実行後に表示され、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を使用している場合でも、スクリプトの実行 が終了した後にAuto Updateパネルが開き、テストをパスさせるためにあなたのアセットに適用された対策を報告します。定義した閾値が実行中に満たされなかった場合、Auto Updateパネルのメッセージは、画像を自動的に更新するための閾値設定を提案します。
画像表現の追加
Eggplant Functionalに既存の画像を修復する代わりに新しい表現の画像を追加するように選択することができます。この機能を有効にするには、実行設定タブでSave as new Image Repチェックボックスを選択します。画像コレクションを操作している場合、新しい画像表現はそのコレクションに追加されます。画像コレクションを操作していない場合、Eggplant Functionalは元の画像と新しい表現を含むコレクションを作成します。
自動ヒーリング中に画像表現を追加する機能は、Eggplant Functional 21.1.0から利用可能です。
Auto Updateの優先順位
Auto Updateは、実行設定パネルに表示される順序で画像とOCR診断をテストします(動的許容範囲、代替タイプ、エッジの切り取り、スケーリング検索、不一致検索、OCRSearch)。これは、リストの早い段階で動作する診断を見つけた場合、それが後で見つかる別の診断よりも常に選択されることを意味します。
Auto UpdateがAuto Applyに対して動作する診断を見つけた場合(診断がAuto Applyに対して有効になっていないか、閾値内にないため)、Auto Applyに対して動作する診断を見つけるまで検索を続けます。Auto Applyに対して動作する診断は、そうでない診断よりも常に優先されます。
Asset Healingの例
以下の例は、Asset Healingがあなたのワークフローをどのように改善するかを示しています。
例:入力が必要なAsset Healing
この例では、実行設定でAuto Applyが有効になっていますが、検索タイプの閾値が満たされていません。ユーザーは閾値を調整して検索を成功させる必要があります。
例:成功したAsset Healing
この例では、実行設定でAuto Applyが有効になっており、動的許容範囲検索タイプの閾値が満たされているため、Eggplant Functionalは自動的に変更を加えました。このシナリオでは、Auto UpdateパネルのApplyボタンは無効になっています。
治療された検索インスタンスの表示と保存
実行設定でIdentify Remedyが選択されていると、Auto Updateパネルは最近完了したスクリプトの実行からすべての治療された検索インスタンスを表示します。これらのインスタンスのそれぞれについて、見つからなかった画像またはテキストが左上角に表示され、スクリプトの実行中にそのテキストまたは画像を見つけるためにAuto Updateが使用した設定とともに表示されます。パネルの下部には、検索失敗時のSUTのスクリーンショットが表示されます。このスクリーンショットには、見つかった画像またはテキストの位置と、可能であれば元の位置も表示されます。
完了したスクリプトの実行に続いて修正された画像検索のインスタンスを表示しているAuto Updateパネル
Auto Updateパネルのタイトルバーには、スクリプトの名前とスクリプトの実行日が表示されます。これは、複数のAuto Updateウィンドウが同時に開いていることがあるため、知っておくと便利です。
Auto Updateパネルを使用して、各画像またはOCR検索の治療された検索設定をレビューし、適用します。画像の変更はパネルを通じて適用できます。OCR検索を更新するには、スクリプトを直接編集する必要があります。治療された検索インスタンスを表示し、保存するには、次の手順に従ってください。
-
Auto Updateによって調整された画像またはテキスト、関連スクリーンショット、設定を確認します。設定の変更を永続的に適用するかどうかを決定します。 初期検索失敗時に提供されたSUTスクリーンショットは、調整された検索設定で画像が見つかった場所を示しています。この位置は、実体線の長方形で強調表示されます。元の画像の位置は、破線の長方形で強調表示されます。スクリーンショットまたはキャプチャした画像の背景の色、または強調表示された長方形の色を変更してコントラストを向上させるには、画像をクリックします。 これらの設定についての詳細は、Image Update Panelの使用: Start Tabを参照してください。
-
現在の治療された検索インスタンスの更新された検索設定を画像に適用したい場合は、Applyボタンをクリックします。この操作は取り消すことはできません。
Importantこれらの変更を適用すると、画像のプロパティが変更され、永続的に保存されます。これは、その画像が使用されているスクリプトすべてに影響を及ぼすため、変更を適用する際にはそれを考慮に入れてください。
治療されたOCR検索は、このパネルからは適用できません。ランタイムで適用された検索設定の変更を永続的にするには、パネルが提案した変更を組み込むためにスクリプトを編集する必要があります。この検索が一部だったスクリプトの名前は、パネルの上部バーに表示されます。また、実行時間も表示され、OCR検索を修正する場所を特定するのに便利です。
-
パネルの右上隅の矢印を使用して、治療された検索インスタンス間を前後に移動し、変更をレビューし、適用します。希望するだけの提案された変更を適用します。
-
変更の適用が完了したら、パネルを閉じます。このパネルは、スイートエディターのResults paneのRemedy列からいつでもアクセス可能です。
例:ユーザーによるRemedyの適用
最初の例では、Eggplant Functionalがユーザーが適用する必要のあるremedyを提案しています。Identify Remedyが選択されていますが、Auto Applyは選択されていません。
Auto Updateの起動頻度の確認
Auto Updateは、スクリプトが画像やテキストの検索失敗に遭遇したときに起動するため、スクリプトがどの程度頻繁にAuto Update機能を起動しているかを追跡することは良いことです。これがどの程度頻繁に起こっているかを確認するには、以下の手順を実行します:
-
スイートウィンドウの左側のResultsリストで問題のスクリプトをクリックします。この操作により、そのスクリプトの各実行の個別のテストレコードを表示するResultsパネルがスイートウィンドウの本文に表示されます。
-
分析するスクリプトの実行をスクリプト実行リストから選択します。
-
スクリプトの実行中にAutoUpdateによってログに記録された警告メッセージを探してResultsパネルの下部の結果を確認します。これらのAutoUpdateの発生を検索することで、スクリプトの実行中にAuto Updateが何回起動し、各ケースを解決するのにどのくらいの時間がかかったかを確認できます。 例えば、次のスクリーンショットでは、AutoUpdateの警告がハイライト表示されています:
スクリプト実行リストのRemedy列でも、Auto Updateが起動し、マッチを見つけることができ、その結果としてスクリプト実行の完了後にAuto Updateパネルが表示されるかどうかを確認できます。このパネルを開くと、そのテスト中に発生した全てのremedied search instancesを確認でき、必要に応じて変更を適用することができます。