OCR更新パネル
OCR更新パネルは、テキスト検索が一致を見つけられなかった場合に、実行時に光学的文字認識(OCR)テキスト検索設定を調整することができます。このパネルは、テスト対象システム(SUT)での検索の診断結果を提供します。その後、OCR検索のプロパティを成功する可能性のあるものに変更し、検索を再実行し、異なる検索設定での結果を表示します。このパネルで行われる変更は、現在のテスト実行にのみ適用されます。
OCR更新パネルの有効化
OCR更新パネルでは、スクリプトの実行中に一致が見つからない場合に、テキスト検索の診断と修正を実行時に行うことができます。有効化の方法により、このパネルはスクリプトが予想しないテキストの複数のインスタンスが見つかった場合や、Auto Update機能をトリガーする場合にも表示されます。Auto Updateは、ユーザー入力なしでテキストと画像の両方で動作し、元の検索設定を使用した検索が成功しない場合に設定を調整し、一致を見つけるために使用します。これらの設定は、Auto Updateパネルを通じて画像に適用することができます。この機能についての詳細は、Auto Updateパネルの使用を参照してください。
OCR更新パネルと関連するAuto Updateパネルの機能は、Run > Image Updateメニューで表示されるオプションを調整することでメインメニュー から有効化できます。Image Update panel、OCR更新パネル、およびAuto Updateパネルはすべてこのメニューを通じて制御されます。これらのメニューオプションは、スクリプトの実行中にOCR更新パネルが開いたときにも調整できます。
この機能は、Image Update panelと同じです。両方のパネルは、このメニューオプションを使用して有効化または無効化されます。
Run>Image Updateの下にあるImage Updateパネルメニュー
Image Updateメニューを使用してOCR更新パネル機能を調整する際の選択肢は次のとおりです。
OCR更新パネルは、**Throw Exception (Update Off)**オプションを設定すると表示されません。パネルは、**Guided Update (Show Panel)**オプションを使用して手動設定を選択したときに、実行時に表示されます。**Auto Update (Log Changes)**が選択されている場合、スクリプトの実行後にAuto Updateパネルが表示されます。
画像/テキストが見つからない場合:
-
Update Off (Throw Exception): Eggplant Functionalは例外をスローし、画像またはOCR検索が一致を返さない場合、スクリプトは失敗します。OCR更新機能は使用されません。
-
Guided Update (Show Panel): このオプションを選択すると、テキスト検索が失敗した際に実行時にOCR更新パネルを手動で操作し、適切な一致を見つけるための設定を調整することができます。この方法は直接的な人間の介入を必要とするため、立会いテスト実行に最適です。ただし、そのために最も適用される一致に対する制御を得ることができます。このメニューオプションは以前は"Show Panel (Manual Update)"と呼ばれていました。
-
Auto Update (Log Changes): これにより、Auto Update機能が活性化し、検索の失敗時に自動的に検索設定を調整して一致を見つけることができるかどうかを確認します。
Auto Updateオプションは、スクリプトの実行中にOCR更新パネルを開かないため、監視されていないスクリプトの実行に適しています。頻繁に、それは一致を見つけてスクリプトの実行を続けることができ、それ以外の場合は検索は例外をスローして失敗します。Auto Updateを使用している場合、あなたのパラメータが広すぎると、意図しない結果で間違ったテキストに一致する可能性があることに注意してください。 これらの設定は、実行時に行われたときに恒久的に保存されません。変更を確認するには、スクリプトの実行後に表示されるAuto Updateパネルを参照してください。提案された変更を恒久的にするには、スクリプトを手動で編集する必要があります。
Auto Updateパネルの使用について詳しくは、Auto Updateパネルの使用を参照してください。
OCR更新パネルの使用
手動オプションを使用している場合、OCR更新パネルはスクリプトがOCRテキスト検索で失敗したときに自動的に開きます。パネルはいくつかのタブで構成されており、それぞれが以下で説明されています。
各タブの下部には、同じ3つの ボタンがあります:
- Abort: このボタンを使用して、スクリプトの実行を中止します。
- Proceed: このボタンを使用して、スクリプトが次のステップに進むようにします。ただし、スクリプトが失敗した検索例外を処理するように書かれていない場合、このオプションを使用するとスクリプトが失敗します。
- Try Again: このオプションを使用して、例外を引き起こした検索を再試行してスクリプトに戻ります。新しい検索が成功した場合、スクリプトは実行を続けます。
各タブの左下側には、OCR更新パネルが表示される条件を変更したい場合に選択できる以下の項目があります:
Update Off: OCR更新パネルは使用されません。
Manual Update: このオプションは、OCR検索が実行時に失敗したときにOCR更新パネルを開き、設定を対話式に操作して適切な一致を見つけることができます。
Auto Update: この設定は、追加の検索パラメータを試して一致を作成し、ユーザーの操作なしにスクリプトを続行するために、OCR更新パネルを内部的に動作させます。
Auto Updateオプションを使用すると、スクリプトの実行中に行われた変更は_memory only_に適用されます。変更された設定はResultsパネルのRemedy列から見ることができますが、検索設定の変更を恒久的にするにはスクリプトを手動で編集する必要があります。
スクリプトがAuto Updateオプションをどの程度頻繁に利用しているかを追跡することは良いことです。これがどの程度頻繁に発生しているかを確認するには、以下の手順を実行します:
-
SuiteウィンドウのResultsペインで問題のスクリプトをクリックします。この操作により、現在のスイートで実行したテストの記録を表示するResultsペインが表示されます。
-
Resultsペインの上部の行をクリックします。
-
Resultsペインの下部の結果を確認し、テキストとメッセージの列でAutoUpdate文字列を探して、自動更新がどの程度の頻度で行われ、そのケースを解決するのにどれくらいの時間がかかったかを確認します。例えば、次のスクリーンショットに示すように、紫の長方形でマークされたAutoUpdate文字列を探してください:
Preferencesでタイマーを調整することができます。Eggplant > Preferences > Run > Systemに移動します。Auto-proceed countdown on Image/OCR Updateセクションで、Auto-proceed Delayフィールドに所望の時間(秒)を入力します。値に0を使用すると、タイマーは全く表示されず、手動のOCR更新パネルは自動的にスクリプトに戻りません。
スタートタブ
Startタブは、OCRテキスト検索が失敗したときにパネルの最初の部分を表示します。このタブは、OCR検索パラメータを調整するのを助けるいくつかの診断ツ ールを提供します。
ウィンドウの上部には、失敗した検索からのテキスト文字列が表示されます。テキスト文字列の下には、検索に使用されたパラメータのリストが表示されます。
コード内に明示的にパラメータを含めていなくても、特定のパラメータはデフォルトとして仮定されるため、このリストは使用されたものを正確に表示します。
OCR更新パネルが開くと、Startタブにはカウントダウンタイマーが表示されることがあります。何も行動を取らない場合、パネルは閉じてカウントダウンが終了した後にスクリプトが続行されます。これは非監視のスクリプト実行に役立つことがあります。ただし、スクリプトが失敗した検索の例外を処理する準備ができていない場合、スクリプトは続行した後に失敗します。
異なるタブ にアクセスするボタンの下には、OCRテキスト検索が失敗したときに取れる行動がウィンドウの下半分に表示されます。ドロップダウンメニューには主に2つの選択肢が表示されます:
- Use Information: 診断検索が潜在的な一致を見つけると、その情報を使ってスクリプトに検索を再試行させることができます。パネルの上部で診断を選択し、ドロップダウンリストからUse Informationを選択してDo Thisをクリックします。スクリプトは、指示されたパラメータを一時的に使用して元の検索を再度実行することで実行を再開します。実際のスクリプトコードは変更されません。
- Copy Information: パネルの上部で成功した診断を選択し、ドロップダウンリストからCopy Informationを選択することもできます。この操作により、パラメータがクリップボードにコピーされ、パラメータが将来の一致に役立つと判断した場合にスクたのですぐにスクリプトを更新できます。
このOCR検索に対してどのアクションを取るかを選択した後、選択したアクションをテストするためにDo Thisをクリックします。
The Diagnostics Tab
Diagnosticsタブは、テキスト文字列をOCR検索で画面上に見つけるために何が調整できるかを見るためのさまざまな診断検索を示します。
Status列は、パラメータで一致が見つからなかった場合は<Not Found>
を表示し、可能な一致が見つかった場合は一致についての情報を表示します。これには複数の一致も含まれます。Info列は、一致が可能な場所で一致を作るために必要なパラメータ値を表示します。
実施される診断検索は次のとおりです:
- Standard: 元の仕様を使用してテキストを再検索します。この検索の結果は、最初にそれを見つけることができなかった後にテキストが表示されていることを意味します。ほとんどの場合、これはステップのスクリプトのタイミングを調整して、目的のテキストが表示されるのにもっと時間をかける必要があることを意味します。
- CaseSensitive: OCRテキスト検索はデフォルトでは大文字と小文字を区別しません。
caseSensitive
プロパティを使用して検索を大文字と小文字を区別して行い、テキスト文字列の大文字化に完全に一致する結果のみを返すように強制することができます。ほとんどの場合、診断はあなたのスクリプトがcaseSensitive: yes
を指定した場合にのみ成功した一致を示し、その場合、検索が大文字小文字を区別しない場合に一致が可能であるかもしれません。 - IgnoreSpaces: この診断は、検索対象のテキスト文字列やSUTスクリーン上の潜在的な一致における空白スペースを無視して一致を探します。例えば、検索文字列が「Eggplant」である場合、OCRエンジンは「Egg plant」または「Eggplant」のどちらにも一致します。このパラメータはデフォルトでOCRテキス ト検索にオンになっているため、診断は一般的にスクリプト内で
ignoreSpaces:"No"
を使用した場合にのみ可能な一致を示します。 - TextDifference: この診断は、元の文字列と異なる個々の文字を持つことができるテキストを探して一致を見つけようとします。このパラメータは有用な場合があります。なぜなら、OCRエンジンは画面上のテキストを誤読することがあり、例えば、0をOと間違えることがあるからです。「テキストの違い」は、検索文字列と画面上に見つかったテキストの間で正確な一致を作るために変更する必要がある文字の数です。
- ValidCharacters:
ValidCharacters
パラメータは、OCRエンジンが認識する文字を制限します。デフォルトでは、エンジンは現在のテキストプラットフォームの言語(または言語)の全文字セットを使用します。時々、文字を制限することで、エンジンにテキスト文字列を「見る」ように強制することができます。ワイルドカードとしてアスタリスクを使用できます。validCharacters:"*"
で、OCRエンジンは元のテキスト文字列の文字のみを探します。 - ValidWords:
ValidWords
パラメータは、OCRエンジンが認識する単語を制限します。デフォルトでは、エンジンは現在のテキストプラットフォームの言語(または言語)の全単語セットを使用します。時々、単語を制限することで、エンジンにテキスト文字列を「見る」ように強制することができます。ワイルドカードとしてアスタリスクを使用できます。validWords:"*"
で、OCRエンジンは元のテキスト文字列の単語のみを探します。validWords
パラメータはLanguage propertyを上書きします。この上書きにより、validWords
プロパティの一部でない単語は、ReadText()関数によって返されません。 - DPI: デフォルトではOCR検索は検索に72 DPIを使用します。しかし、SUTの解像度が大幅に異なる場合、DPIパラメータを使用して検索の解像度を別のものに設定することで、テキストを見つけることができるかもしれません。
- Language: この診断は、デフォルトのテキストプラットフォーム以外の言語設定で一致が見つかる可能性があることを示します。
診断検索が潜在的な一致を見つけると、その情報を使用してスクリプトが再度検索を試みることができます。リストの中から診断を選択し、Use Infoをクリックし、次にTry Againをクリックします。スクリプトは、指示されたパラメータを一時的に使用して元の検索を再度実行することで実行を再開します。実際のスクリプトコードは変更されません。
成功した診断を選択し、Copyをクリックすると、指示されたパラメータがクリップボードにコピーされます。これにより、そのパラメータが将来の一致に役立つと判断した場合、スクリプトを簡単に更新できます。
SUTの条件を変更した場合、またはOCR更新パネルのPropertiesタブで検索オプションを変更した場合は、Searchボタンをクリックして新しい検索を作成し、診断を更新します。
プロパティタブ
Propertiesタブでは、OCR検索の異なるパラメータを試すことができます。また、一致が見つかるかどうかを確認するために、パラメータの組み合わせを試すこともできます。
Diagnosticsタブにリストされている各パラメータは、Propertiesタブでも利用できます。
値を変更すると、スクリプトからの元の値が赤字で変更したフィールドの隣に表示されます。フィールドの下部には、青字で新しい値を使用した結果が表示されます。変更は累積されるので、複数のプロパティを変更すると、それぞれが検索に適用されてマッチングを試みます。
選択した新しいパラメータでスクリプトを再開したい場合は、Use SettingsをクリックしてからTry Againをクリックします。スクリプトは、指定したパラメータを一時的に使用して元の検索を再度実行し、再開します。実際のスクリプトコードは変更されません。
The Tuner Tab
Tunerタブには、OCR検索を改善するために微調整できるパラメータがリストされています。SenseTalkには、OCR検索を変更するためのいくつかのプロパティがあります。すべてのOCRプロパティを理解するために時間をかけて、適切な調整を行い、テスト環境での検索結果を改善できるようにしてください。ここに示されている情報を使用して、OCR検索を解決または改善します:
Text Not Found Area
パネルの最上部には、失敗したコードラインで検索していたテキスト文字列が表示されます。
Text Style
テキストスタイルとは、Eggplant Functionalのテキスト設定、OCRチューナー、またはOCR更新パネルで定義されたテキストプロパティのセットを保存したものです。各テキストスタイルは通常、テスト対象のアプリケーションで繰り返し出会う特定のフォントやGUI要素、例えばメニューアイテムやタイトルバーに特化したものです。テキストスタイルはOCR検索とReadText()
の両方に適用することができます。読み取りと検索の違いについての詳細は、How to Use OCRをご覧ください。
パネルはデフォルトのスタイルが選択された状態で開きます。このセクション以下のOCRプロパティを変更すると、現在のスタイルが変更されます。この新しいスタイルを保存するには、Text Styleドロップダウンメニューで"Default"という単語を選択して名前を変更するか、上書きするスタイルを選択します(Defaultスタイルも変更可能です)。Save Styleをクリックします。
現在選択しているスタイルを削除するには、Delete Styleをクリックします。このオプションは、Defaultスタイルが選択されているときには無効になります。
このセクションの右側には、コピーアイコンがあります。これは、次のセクションで設定した現在のテキストプロパティをスクリプトで使用するためにコピーするために使用できます。詳しくはSave or Copy Property Settingsをご覧ください。