Skip to main content
Skip table of contents

Principles

イメージ・ベース・オートメーションの基本

ブラックボックスGUIオートメーションには、オブジェクト指向とイメージベースの2つのアプローチがある。

ブラックボックス・オートメーションの詳細については、こちらをご覧ください。

オブジェクト指向の自動化ツールは、プログラミング・プラットフォーム、例えば.NET、C/C++、Java、またはOSグラフィック・インターフェース(Win32 APIなど)と緊密に統合されています。通常、アプリケーションのGUIコンポーネント階層を取得し、ボタン、チェックボックス、テキストフィールド、ドロップダウンなどの個々のGUIコンポーネントのプロパティへのアクセスを提供します。このアプローチの利点は、スクリプトからGUI構造を見ることができ、簡単にGUI内を移動したり、期待されるコンテンツがあるかどうかを検証できることです。オブジェクト指向ツールの欠点は、異なるテクノロジー間で自動化できないこと、また、特定のプラットフォームのバージョンやアプリケーションのバージョンに依存することが多いことです(新しいバージョンがリリースされると、アップグレードを強いられます)。

イメージベースの自動化ツールは、アプリケーションやコンピュータのデスクトップ全体のイメージを分析する。イメージは通常、オペレーティング・システムから取得します。例えば、デスクトップ・イメージ・バッファから取得したり、グラフィック・ドライバにアタッチしたりします。このアプローチの利点は、基礎となる技術は関係なく、ツールはオペレーティング・システムのデスクトップに表示されるあらゆるアプリケーションを自動化できることです。また、このような自動化はシンプルで、エンドユーザーに近く、プログラミングの経験がなくても習得しやすい。また、テストプロジェクトにおいて、GUIコンポーネントの重なりやフィットしていないといったレイアウトの問題を明らかにすることもできる。

T-Plan Robot Enterpriseは画像ベースの自動化ツールであり、システムの自動化を実行する方法の性質上、業界ではツール自体をブラックボックス自動化ツールと呼んでいる。要するに、Robotは画像比較方法を提供し、デスクトップ上のGUIまたはテキストコンポーネントを検索し、収集された画像テンプレートと比較したり、RPAプロジェクトのワークフローを推進するためにこれらの検出されたコンポーネントにアクションを適用することによって、テストされたアプリケーションのステータスを検証することができます。

画像ベースの自動化は、ユーザー入力を適用し、グラフィカル(アプリケーション)出力を検証または適用するという性質から、業界内では「ブラックボックス」とも呼ばれている。ブラックボックス・オートメーションは、アプリケーションによる処理方法、実行されたコード分岐、オブジェクト・プロパティなど、これら2つのイベントの間に発生する事象には関与しません。- これは「ホワイトボックス」オートメーションと呼ばれます。

T-Plan Robotはこのように対話しながら、入力(マウス/キーボード)イベントキューとディスプレイイメージバッファを介してSUA(自動化対象システム)に接続します。これは主に、セカンダリマシンへの接続にVNC(Virtual Network Computing)を使用するか、ローカルデスクトップのセットアップでローカルオペレーティングシステムの直接JavaとOS APIを使用することで実現される。

表示された画面を事前に定義されたイメージ・テンプレートのセットと比較することで、UAT(ユーザー受け入れテスト)の領域でシステムが目的に合っているかどうかを判断したり、RPA(ロボティック・プロセス・オートメーション)の領域でユーザーのアクションを促進したりすることができる。ここで重要なのは、T-Plan Robotはアプリケーションのコードを「見る」のではなく、画面を通してユーザーに提供されるものを「見る」のです。

T-Plan Robotによる画像ベースの自動化

前回のトピックでは、T-Plan Robotが画像ベースのツールであることを説明しました。そのアーキテクチャをざっと見てみよう。

このツールは、リモートデスクトップ技術や、画像を生成するその他の技術を通じて取得したデスクトップ画像で動作する。現在このツールは、RFBプロトコル(Virtual Network Computing、VNCとしてよく知られている)、リモートデスクトッププロトコル(RDP、Windows Terminal Servicesで採用されている)、ローカルグラフィックドライバと同様に静的画像をサポートしているが、そのアーキテクチャはオープンであり、他のプロトコルも継続的に開発されている。

リモートデスクトップ技術は、通常TCP/IP上でクライアントサーバーシナリオで動作する。ビューア(クライアント)を通してリモートデスクトップ(サーバー)にアクセスすることができます。クライアントは、ローカルの入力イベント(マウス、スタイラス、キーボード、クリップボードの変更)をサーバーに送信し、デスクトップ画像の更新、サーバーのクリップボードの変更、サーバーで再生されるサウンドなどのデスクトップ出力を受信します。

T-Plan Robotは、この観点から「スクリプト可能なリモートデスクトップビューア」と定義することができます。ユーザーとの対話(通常のビューワーとして動作)、またはスクリプトからの指示に従ってリモートデスクトップを駆動します。自動化を可能にするために、スクリプト言語(Javaをサポート)、画像比較方法、レポート機能、スクリプトの記述とデバッグを容易にするスマートGUIなどの一連の機能を提供します。

静的イメージの シナリオでは 、このツールは「スクリプト可能なイメージ・ビューワ」と定義され、ライブ・デスクトップに適用されるのと同じ言語と機能を使用して、静的イメージを検証および/または分析することができます。

ヒント:より詳細なT-Planロボットのアーキテクチャ図は、Java APIの ホームページで入手できます。

VNCテクノロジーの概要

すでに述べたように、T-Plan Robot はライブデスクトップ自動化シナリオにおいてリモートフレームバッファ (RFB) プロトコルに依存しています。この技術は、VNC(Virtual Network Computing)と呼ばれる実装ソフトウェアでよく知られています。

VNCは1999年にオリベッティ研究所で開発されました。このプロジェクトは2002年にGPLの下でオープンソース化され、この技術はIT業界に広まった。今日、VNCソフトウェアには、様々な無料または商用の追加機能を提供する多くのバリエーションがありますが、ほとんどの製品は、少なくともRFBプロトコルによって指定された同じ基本機能をサポートしています。概要については、VNCに関するWikipediaの記事を参照のこと。

VNCは通常、TCP/IP上のクライアントサーバーシナリオで動作する。ビューア(クライアント)はサーバーのデスクトップの画像を表示し、マウスポインタの移動、クリック、ドラッグ、クライアントマシンのキーボードで入力されたキーをすべてサーバーに送信する。サーバーは、リモートデスクトップ画像の更新されたピクセルを返送します。

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.