異なる UI フレームワークおよびコントロールのサポートを追加するように Functional Tester をプログラミングして、適切な機能テスト値をテスターに提供できるようにする必要があります。
Functional Tester アーキテクチャーは、異なる UI フレームワークごとにそれぞれの TestDomainImplementation クラスを使用して、UI フレームワークにおける相違点を処理します。 これらの TestDomainImplementation クラスは、Functional Tester がサポートする各 UI フレームワークの特定のプロパティーを処理します。 以下の TestDomainImplementation クラスを Functional Tester とともに使用できます。
TestDomain には、それぞれの UI フレームワークによって提供されるコントロールのセットが入っています。 Functional Tester は、各コントロールまたは同様のコントロールのグループごとに実装される ProxyObject クラスを使用して、コントロール内の相違点を認識および処理します。 ProxyObject は、コントロールに対するラッパー・オブジェクトと見ることができ、Functional Tester が定義する標準インターフェースと一緒に実装されます。 それぞれのプロキシー・メソッドには固有の意味があり、Functional Tester は特定のときにそれらを呼び出します。 ProxyObject はそのコントロールに固有の詳細情報を戻します。 ProxyObject クラスは、サポートされる TestDomain 内の各コントロールまたは同様のコントロールのグループに関する特性を処理します。
Functional Tester は、Java、.Net、Win32、Siebel、SAP、および HTML など、サポートされる TestDomains ごとに、階層的にグループ化された ProxyObjects のセットを提供します。 各 TestDomain 内の ProxyObject の継承階層は、その TestDomain のコントロールの継承階層と同じになるように設計されています。ProxyObjects を階層的にグループ化することにより、新規のコントロールが UI フレームワークに導入されたときに新規の ProxyObjects を作成するように、それらを拡張することができます。 ProxyObject 階層内のサポートされる UI フレームワークごとに、使用可能な ProxyObjects およびコントロールのセットに関する詳細情報を検索できます。