T-Plan Robot バージョン9.0 リリース開始

T-Plan Robot × Google Vision API で実現する「型にはまらない」超柔軟なUIテスト自動化

T-Plan Robotの大きな強みの一つに、標準のテンプレートマッチング(画像認識)だけでなく、Google Vision API(Cloud Vision)をネイティブプラグインとして統合できる点があります。

従来の画像比較テストでは、フォントのわずかな変更、解像度やカラー深度のブレ、動的なテキスト(日付やユーザー名など)によってテストが落ちてしまうことが課題でした。ここにGoogleの強力なAI OCRを組み合わせることで、「画面上の『特定の文字列』を自然言語的に認識し、その座標を自動特定して操作する」という柔軟なアプローチ(ロバストな自動化)が可能になります。

T-Plan Robotは、人間の目と同じように画面を見て操作する「画像認識ベース」の優れた自動化ツールです。しかし、システムのモダナイズやアップデートによって「フォントが変わった」「OSのレンダリング変更で文字の輪郭が微修正された」「動的な日付データが表示されている」といった場合、従来の完全一致型(テンプレートマッチング)の画像認識だけでは、テストのメンテナンスコストが増大することがあります。

この課題をスマートに解決するのが、T-Plan Robot 5.0からネイティブサポートされている「Google Vision API」との連携(AI OCR機能)です。

本記事では、画面上のテキスト情報を自然言語プロンプトのように指定し、UIテストを劇的に効率化・安定化させる手法を解説します。

? 1. なぜGoogle Vision APIを組み合わせるのか?

従来のテストと、AI OCR(Google Vision)を導入したテストの違いは以下の通りです。

  • 従来の手法(テンプレートマッチング): 「このビットマップ画像(例:submit_button.png)と『100%完全に一致する領域』を画面から探してクリックせよ」 ? 弱点: 文字サイズや背景のグラデーション、フォントが1ピクセルでも変わると見失う。
  • Google Vision連携手法(Text OCR): 「画面全体をAIに読ませ、『送信』または『Submit』と書かれている場所の座標を特定してクリックせよ」 ? 強み: フォント、言語、文字サイズ、色の変化をAIが吸収。人間が「文字を読んで判断する」のと全く同じプロセスを再現できるため、テストが圧倒的に壊れにくくなります(ロバスト性の向上)。

?️ 2. クイックセットアップ(初期設定)

T-Plan RobotからGoogle Cloud Visionを利用する設定は非常にシンプルです。

  1. Google Cloud Console でプロジェクトを作成し、Cloud Vision API を有効化します。
  2. 認証用の APIキー(またはサービスアカウントの認証情報)を発行します。
  3. T-Plan Robotを開き、メニューの [OCR] ➔ [Choose Preferred OCR Engine] を選択します。
  4. ドロップダウンから GoogleVision を選択し、取得したAPIキーを貼り付けます。
  5. 「Test Connection」をクリックし、緑色の成功メッセージが出れば準備完了です。

? 3. 実践コード:プロンプト感覚でテキストを指定する

T-Plan Robotでは、使い慣れた CompareToWaitForClick といった基本コマンドの検索メソッドに method="tocr"(Text OCR) を指定するだけで、裏側でGoogle Visionが自動的に作動します。

基本:特定のテキストを探してクリックする

画面上に表示されている「注文を確定する」というボタン(文字)を自動認識してクリックします。

コード スニペット

# 画面全体から「注文を確定する」という文字列をGoogle Visionに探させ、見つかった座標をクリック
Click method="tocr" text="注文を確定する"

応用①:表記揺れを許容する「あいまい検索」(レーベンシュタイン距離)

「登録」が「登緑」と誤認識されたり、フォントの影響で微妙な読み飛ばしが発生したりするリスクに対応するため、distance(許容する差分文字数)を指定できます。

コード スニペット

# 1文字分の誤認識や表記揺れがあっても、最も近い「ユーザー設定」という文字列を特定してクリック
Click method="tocr" text="ユーザー設定" distance="1"

応用②:正規表現(Pattern)を使った動的データのキャプチャ

ECサイトのテストなどで、「注文番号:VOL-2026-0523」のように、実行するたびに中身が変わるテキストの位置を特定したい場合に絶大な効果を発揮します。

コード スニペット

# 正規表現を使って「注文番号:[英数字の組み合わせ]」が表示されている座標を特定
CompareTo method="tocr" pattern="注文番号:[A-Z0-9\-]+"

# Google Visionが認識したテキストの座標や中身は自動的に変数(_TOCR_TEXTなど)に格納されます
Log "検出されたテキスト: {_TOCR_TEXT}"
Log "検出座標: X={_TOCR_TEXT_X}, Y={_TOCR_TEXT_Y}"

? 4. テスト自動化が劇的に効率化する3つのユースケース

① 多言語(ローカライズ)サイトのテスト

英語、日本語、中国語など、切り替えによってボタンの文言が変わるシステムでも、座標依存のコードを書く必要がありません。テストスクリプトの変数に各言語のテキスト(プロンプト)を渡すだけで、1つのスクリプトをグローバルに使い回せます。

② PDFや帳票、グラフィカルなHMIパネルの文字検収

WebのHTML要素(DOM)を持たない、PDFビューア内の文字や、組込みLinuxのHMI画面に表示された警告メッセージ(例:「バッテリー残量が低下しています」)といった、通常のテストツールでは文字の抽出が不可能な領域のアサーション(成否判定)が容易になります。

③ レガシーシステム(メインフレーム・Citrix環境)の自動化

DOMが存在せず、VNCやRDPによる画面のデスクトップキャプチャしか情報源がない「完全に孤立した環境」において、Google VisionのOCRは唯一無二のテキスト探索ナビゲーターになります。

⚠️ 5. 運用上の注意点

  • セキュア環境での取り扱い: Google Vision API(クラウドサービス)を利用する特性上、テスト実行時のデスクトップ画面のキャプチャがHTTPS通信でGoogleのサーバーに送信されます。金融、医療、防衛などの厳格なオンプレミス(閉域網)環境や、機密個人情報が画面に表示されるテストケースでは、ローカルで動作する別のOCRエンジン(TesseractやABBYY)と上手に使い分けるのが現場のベストプラクティスです。
  • ネットワーク速度への依存: 実行速度はインターネットの通信環境に依存します。CI/CDパイプライン上で大量に回す場合は、タイムアウト値を少し長めに設定(Wait コマンドの調整など)しておくのが安定運用のコツです。

? 6. 参考公式リファレンス

執筆・編集: 株式会社チャネルブリッジ T-Plan Robotチーム