テキスト認識の設定
関連:GUI テストおよびコンポーネント
前提条件
アプリケーション内で、取得したいテキストを表示します。
テキストの特性の分析
テキストを取得する方法として、テキスト認識メカニズムではなく、テキスト(またはテキストのような)プロパティを使用できるかどうかを判断します。
OCR を使用するステップの実行は、プロパティ・ベースのオブジェクト認識を使用するステップの実行よりも時間がかかります。
使用する OCR エンジンを決定します
どの OCR 設定が最良の結果となるかを見出すために、アプリケーションで試す必要があるかもしれません。テストで最適に機能する OCR エンジンを決定したら、そのエンジンを一貫して使用することをお勧めします。実行ごとに異なるエンジンを使用すると、異なる結果が生成される場合があります。
注意: クラウド OCR エンジンは、UFT One バージョン 15.0.1 以降でのみサポートされます。
OCR エンジンを選択するときは、次の点を考慮してください。
考慮事項 | Google と Baidu(クラウド) | Abbyy と Tesseract(非クラウド) |
---|---|---|
正確さ |
ご使用のアプリケーションで最も正確であるという実績のある OCR エンジンを選択してください。 クラウド・ベンダは、さまざまな顧客プランで、さまざまなレベルの精度を提供しています。 |
|
可用性 |
クラウド OCR アカウントと利用可能なインターネット接続が必要です。 |
アカウントまたはインターネット接続は必要ありません。 |
言語サポート |
Google Cloud OCR は言語を自動的に検出し、混合言語のテキストをサポートします。アプリケーション内で期待される言語を指定する必要はありません。「既知の問題 - 多言語アプリケーション」も参照してください。 Baidu OCR は、サポートする言語は Abbyy よりも少ないですが、中国語、日本語、韓国語などの象形文字を用いる言語で、精度と認識率が高くなります。 [テキスト認識]表示枠で、Baidu と Abbyy で利用可能な言語のリストを確認してください。Baidu は、さまざまな言語を個別にサポートするか、中国語と英語を含むテキストをサポートします。「既知の問題 - 多言語アプリケーション」も参照してください。 |
Abbyy OCR は多くの言語をサポートしており、複数の言語をサポートするように設定でき、混合言語のテキストを認識できます。 Tesseract OCR エンジンを使用する場合、一度に 1 つの言語パックのみを使用できます。言語パックの詳細については、下記の「言語」を参照してください。 |
パフォーマンス |
コンピュータの構成ではなく、インターネット接続の品質の影響を受けます。 クラウド・プラットフォーム・プランの影響を受けます。 |
強力なプロセッサが必要です。旧式のコンピュータでは、複雑な画像や多言語テキストの結果を提供するのに長い時間がかかる場合があります。 Tesseract OCR エンジンは、Abbyy OCR エンジンよりも処理に時間がかかります。テスト内にテキスト認識ステップ(GetVisibleText など)が多くある場合、これらのテストを実行するために必要な総時間が増えるので注意してください。 |
適切なオプションの設定
[オプション]ダイアログ・ボックスの[テキスト認識]表示枠([ツール]>[オプション]>[GUI テスト]タブ>[テキスト認識]ノード)で、次のオプションを設定します。
OCR エンジン・タイプ |
次のいずれかのテキスト認識メカニズムを選択してください。
注意: クラウド OCR エンジンは、UFT One バージョン 15.0.1 以降でのみサポートされます。 |
クラウド OCR サービスへの接続の設定 |
UFT One バージョン 15.0.1 以降でサポート クラウド OCR エンジンを使用するには、関連するベンダのアカウントを設定し、クラウド・サービスへの接続に使用するアクセス・トークンまたはキーを取得する必要があります。
|
テキスト認識モード |
(Abbyy および Tesseract OCR エンジンのみ)
|
言語 |
利用可能な言語とサポートされる言語(Abbyy OCR エンジンのみ) 利用可能な言語のリストから、テキスト認識でサポートされる言語を選択します。 UFT One 15.0 以前:複数の非象形文字言語、または中国語、日本語、韓国語などの象形文字言語の 1 つを選択できます。 UFT One 15.0.1 以降:サポートする複数の言語を選択できます。 |
言語タイプ(Baidu OCR エンジンのみ) 言語のリストから、テキスト認識でサポートする単一の言語を選択するか、[中国語と英語]を選択します。 |
|
現在の言語パック(Tesseract OCR エンジンのみ) テキスト認識で使用する現在の言語パック。Tesseract エンジンを使用する場合、一度に 1 つの言語パックのみが使用できます。 Tesseract OCR エンジンのダウンロード・サイト(https://sourceforge.net/projects/tesseract-ocr-alt/files/?source=navbar)から、追加の言語パックをダウンロードできます。ダウンロードしたら、言語パックのファイルを <UFT One インストール・フォルダ>/dat/tessdata フォルダ内に追加します。 |
|
テキスト認識用の記号 | (Tesseract OCR エンジンのみ)UFT One に認識させる文字のリストを入力します。UFT One でテストを実行すると、指定した文字のみに対してテキスト認識が実行され、そのほかの文字はすべて無視されます。 |
高速モード |
(Tesseract OCR エンジンのみ) UFT One がテキスト認識をより高い精度で実行するか、またはテスト実行をより高いパフォーマンスで実行するかを選択します。より高い精度でテストを実行するには、[高速モード]チェックボックスをオフにします。 |
ファイルの設定の使用 |
(Tesseract OCR エンジンのみ)外部で作成したファイルからテキスト認識設定をロードするように、UFT One に対して指示します。 ファイルの作成の詳細については、http://www.sk-spell.sk.cx/tesseract-ocr-parameters-in-302-version を参照してください。 |
テキスト認識を使用する前に画像を前処理 | テキスト認識を実行する前に背景画像を処理するように、 UFT One に対して指示します。これにより、テキスト認識を使用する前に UFT One で画像要素を識別できるようになります。 |
テキスト認識設定の検査
- テストまたはコンポーネントを作成するか、開きます。
-
次の手順のいずれかを実行します。
-
テキスト・チェックポイントまたは出力値ステップを挿入する(テストとスクリプト・コンポーネントのみ)
-
次のいずれかのテスト・オブジェクト・メソッドを使用するステップを挿入する。
-
testobject.GetVisibleText
-
testobject.GetTextLocation
-
testobject.GetText(ターミナル・エミュレータ・オブジェクト)
-
-
次のいずれかの予約済みオブジェクト・メソッドを使用するステップを挿入する(テストとスクリプト・コンポーネントのみ)
-
TextUtil.GetText
-
TextUtil.GetTextLocation
-
-
設定の調整(必要な場合)
- 想定どおりにテキストを取得できない場合は、問題を分析し、UFT One が取得するテキストをテキスト認識オプションを使って微調整します。
-
UFT One15.0.2 以降:挿入した GetVisibleText ステップが、フレームで囲まれたテキストのキャプチャで正しく機能しない場合は、OCR 関連のステップの前に
setting("ABBYYOCRTextInFrame") = True
を追加し、これらのステップの後にsetting("ABBYYOCRTextInFrame") = False
を追加してみてください。例:
setting("ABBYYOCRTextInFrame") = True print Window("WinBurger").Dialog("WinBurger Order-Entry").WinButton("Add").GetVisibleText() setting("ABBYYOCRTextInFrame") = False
その他の参照項目: