vpManual メソッドおよび vpDynamic メソッドについては、「Functional Tester API Reference」の IFtVerificationPoint の項目で、検査ポイント名およびデータ・フォーマットの制限に関する情報を参照することができます。
手動検査ポイントは、自分で検査ポイント用のデータを作成して、そのデータを比較する際に便利です。このデータは、例えば計算結果や、データベースなどの外部ソースから取られたものなどです。
手動検査ポイント・オブジェクトは、vpManual メソッドを使用して構成されます。このメソッドを呼び出すとき、performTest の実行前にデータを供給してください。(performTest メソッドは、提供されたデータを保管して、ベースラインがあるときには比較し、ログに結果を書き込みます。) vpManual メソッドには、次の 2 つのシグニチャーがあります。
IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object actual) IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object expected, java.lang.Object actual)
vpManual の 1 番目の書式では引数として、検査ポイント名および、既存ベースラインの比較対象になるかまたはベースラインが存在しない場合にはベースラインを作成するために使用される実際のデータを取ります。なお、この値は NULL になる可能性があります。 vpName は、スクリプトに対して固有でなければなりません。例:
vpManual ("manual1", "The rain in Spain").performTest();
このメソッドの 2 番目の書式には、実際のデータと比較される予測データのパラメーターが追加されます。データが予測のものか実際のものかに関係なく、値が NULL になる場合があります。例:
vpManual ("manual1", "The rain in Spain", "The Rain in Spain").performTest();
この例では、データは一致しません。performTest メソッドは、検査ポイントの失敗メッセージをログに記録します。
動的検査ポイントは、TestObject がマップされず、かつ Functional Tester が通常はテストしないもの (テスト対象アプリケーションの一部ではないオブジェクトなど) である場合に最も便利です。
vpDynamic メソッドは動的検査ポイントを構成します。動的検査ポイントは、次回のスクリプトの再生時に適切なユーザー・インターフェースを提示します。ユーザーは、スクリプトが指定するオブジェクトを比較対象としてテストした検査ポイント・データを挿入することもできます。これにより、ユーザーは検査ポイントの記録前に、手動でテストを実行し、適切な状態であるかを確認せずにすみます。vpDynamic メソッドには以下の 2 つのシグニチャーがあります。
IFtVerificationPoint vpDynamic (java.lang.String vpName) IFtVerificationPoint vpDynamic (java.lang.String vpName, TestObject objectUnderTest)
vpDynamic メソッドの 1 番目の書式には、(スクリプトに対して) 固有の検査ポイント名が必要です。記録の検査ポイントおよびアクション・ウィザードが、次回のスクリプトの再生時に提示されます。ユーザーは、TestObject および続いて実行されるテストで比較対象となるベースライン・データを指定します。スクリプトは対話モードで実行されなければなりません。例:
vpDynamic("dynamic1").performTest();
vpDynamic メソッドのもう 1 つの書式には、TestObject の指定が必要です。例:
vpDynamic("dynamic1", AnAWTButtonButton()).performTest();
最初の再生時には、ベースラインのデータ値を指定するために、TestObject の階層を表示しない、変更された UI が出現します。指定する TestObject は、テスト・オブジェクト・マップに由来するものである必要はありませんが、意味のある結果を得るためには、オブジェクトは常に同じでなければなりません。
これらのメソッドを使用する際によくある間違いは、performTest メソッドを省略してしまうことです。これは規則に反するものではなく、警告なしにコンパイルが行われますが、スクリプトの実行時には意味のあるアクションが発生しません。例:
vpDynamic("test1", AnAWTButtonButton()); //ERROR. Nothing happens.