任意のドメインの既存のプロキシーを展開することによって新規のプロキシーを作成する場合、正しいプロキシーを展開できるように既存のプロキシーや階層について理解しておくことは重要です。
プロキシー・クラスのメソッドおよびプロパティーについて詳しくは、『Proxy API reference』を参照してください。
テスト対象のコントロールの識別
機能テスト・ツールの最初のタスクは、テスト対象のコントロールを識別して、テスト対象のアプリケーション (AUT) でそれを表すことです。
Functional Tester は、コントロールが認識プロパティーおよび階層を使用していることを識別し、TestObject マップでそれを表します。コントロールが異なると、認識プロパティーおよび階層が変化する可能性があります。
コントロール用に開発されたプロキシーは、この情報を
Functional Tester に提供します。
新しいプロキシーの開発中に、各ドメインの基本プロキシーを継承します。
通常、これらのメソッドは、基本プロキシーに既に実装されているため、オーバーライドしません。
- 認識プロパティー
- 表 1 にリストされているメソッドを使用して、コントロール用に認識プロパティーおよび重みを指定することができます。
注: さらに、オブジェクト・ライブラリーを使用して認識プロパティーおよび重みを指定することもできます。
表 1. 認識プロパティーを指定するための拡張可能メソッドJava |
.Net |
Hashtable getRecognitionProperties() |
Hashtable GetRecognitionProperties() |
int getRecognitionPropertyWeight(String propertyName) |
int GetRecognitionPropertyWeight(String propertyName) |
- 階層
- 表 2 にリストされているメソッドを使用して、コントロールの階層を指定することができます。
注: 通常、これらのメソッドは基本プロキシー・クラスに実装されているため、拡張する必要はありません。
表 2. 階層を指定するための拡張可能メソッドJava |
.Net |
getParent() |
GetParent() |
getTopParent() |
GetTopParent() |
getChildren() |
GetChildren() |
Object getChildAtPoint(Point pt) |
Object GetChildAtPoint(Point pt) |
getOwner() |
GetOwner() |
getOwnedObjects() |
GetOwnedObjects() |
定義
表 3 にリストされているメソッドを使用して、コントロールの管理特性 (例、アイコンまたは記述名など) を変更することができます。
表 3. 管理特性を変更するための拡張可能メソッドJava |
.Net |
String getTestObjectClassName() |
String GetTestObjectClassName() |
String getDescriptiveName() |
String GetDescriptiveName() |
String getUniqueId() |
String GetUniqueId() |
boolean shouldBeMapped() |
bool ShouldBeMapped() |
String getRole() |
String GetRole() |
String getObjectClassName() |
String GetObjectClassName() |
記録
Functional Tester は、レコーダーがオンにされているときにコントロール上で実行されるユーザー・アクションを記録します。
これらのユーザー・アクションは、マウス対話およびキーボード対話としてグループ化することができます。
表 4 にリストされているメソッドを記録用に使用することができます。
表 4. 記録用の拡張可能メソッドJava |
.Net |
void processMouseEvent(IMouseActionInfo action) |
void ProcessMouseEvent(IMouseActionInfo action) |
void processPreDownMouseEvent(IMouseActionInfo action) |
void ProcessPreDownMouseEvent(IMouseActionInfo action) |
void processPreUpMouseEvent(IMouseActionInfo action) |
void ProcessPreUpMouseEvent(IMouseActionInfo action) |
void processPostUpMouseEvent(IMouseActionInfo action) |
void ProcessPostUpMouseEvent(IMouseActionInfo action) |
void processHoverMouseEvent(IMouseActionInfo action) |
void ProcessHoverMouseEvent(IMouseActionInfo action) |
getScriptCommandFlags() |
GetScriptCommandFlags() |
Vector getSubItems() |
ArrayList GetActionArgs(Point pt) |
Rectangle getRectangle(SubItem) |
SubItem FindSubItem(Point pt) |
再生
表 5 にリストされているメソッドを使用して、SubItem の画面の長方形またはポイントを検出することができます。
注: 通常、新規の SubItem を導入しない限り、これらのメソッドを拡張する必要はありません。
表 5. 再生用の拡張可能メソッドJava |
.Net |
Rectangle getScreenRectangle(SubItem) |
Point GetPointForSubItem(SubItem) |
検査ポイント
追加のデータ・タイプおよびプロパティーをコントロールに追加できます。
- データ検証
- 表 6 にリストされているメソッドを使用して、追加のデータ・タイプをコントロールに追加することができます。
表 6. データ・タイプを追加するための拡張可能メソッドJava |
.Net |
Hashtable getTestDataTypes() |
Hashtable GetTestDataTypes() |
ITestData getTestData(String) |
ITestData GetTestData(string testDataType) |
- プロパティー検証
- 表 7 にリストされているメソッドを使用して、追加のプロパティーをコントロールに追加することができます。
表 7. プロパティーを追加するための拡張可能メソッドJava |
.Net |
Hashtable gerProperties() |
Hashtable GerProperties() |
object getProperty(String) |
object GetProperty(string) |
データ駆動
表 8 にリストされているメソッドを使用して、データ駆動に使用するメソッドを指定することができます。
表 8. データ駆動用の拡張可能メソッドJava |
.Net |
MethodSpecification getDataDrivableCommand |
MethodSpecification GetDataDrivableCommand |
反映サポート
Java™ および .Net がテスト・スクリプトから提供する反映サポートを使用できます。
getMethods() および Invoke() などの API を使用すると、リモート呼び出しで使用する基礎オブジェクトでのメソッドに関する情報にアクセスできます。
この情報にはメソッドの名前およびシグニチャーが含まれます。
表 9 にリストされているメソッドを反映サポート用に使用することができます。
表 9. 反映サポート用の拡張可能メソッドJava |
.Net |
getMethods() |
GetMethods() |
invoke() |
Invoke() |
getNonValueProperties() |
|
この値はプロセス境界を超えて直列化することができないオブジェクトへの参照であるため、getNonValueProperties() メソッドはサポートされていないプロパティーを戻します。
これらのプロパティーには、getProperty() メソッドを使用すればアクセスすることができます。
このようなプロパティーは、テスト・スクリプトに戻される場合、AUT 内のオブジェクトへの参照が入っている TestObject として戻されます。
テスト・スクリプトは、オブジェクトを解放するために TestObject メソッド unregister() を呼び出す必要があります。