あいまい認識の処理

再生中の状況によっては、テスト中のソフトウェアにある 2 つの類似したオブジェクトを Functional Tester が識別できない場合があります。 このトピックでは、そのような状況の処理について説明します。

例えば、HTML アプリケーションで、ブラウザーの複数のインスタンスがアクティブになっている場合、2 つのブラウザーが以下の例のように記録されていると、ツールバー・アクションで 1 つのブラウザーをもう一方のブラウザーから認識するのは不可能です。

BrowserToolbar_Back().click()
BrowserToolbar_Forward().click()

このような場合、Functional Tester は現在ロードされている文書 (ターゲット・オブジェクトのアンカーという) により識別されるブラウザーでツールバー・ボタンを見つけることによって、あいまい認識を回避します。例:

BrowserToolbar_Back(Browser_htmlBrowser(Document_MyHomePage(),
  DEFAULT), DEFAULT).click();

ツールバーの「戻る」ボタンは、ブラウザーによって固定され、そのブラウザーは文書「My HomePage」により固定されます。 ブラウザーの各インスタンスに同じロード済み文書がある場合、この例は当然うまくいきません。アンカーを引数として使用するヘルパー・スクリプト・メソッドでも、コンポーネントの状態を指定する別の引数 (上記の例では DEFAULT 引数) が必要であることに注意してください。HTML オブジェクトのデフォルトの状態は LOADED です。 HTML コンポーネントの場合、LOADING および UNINITIATED も可能です。 Java™ オブジェクトのデフォルトの状態は SHOWING および ENABLED です。 Java オブジェクトで他にサポートされる状態フラグには、NOT_SHOWING および DISABLED があります。

さらに、その TestObject 参照を使用してブラウザー・インスタンスを識別し、以下のようにブラウザー上で検索メソッドを呼び出すことができます (完了時に必ず TestObject の登録を解除してください)。

TestObject browserOne = Browser_htmlBrowser(Document_MyHomePage(),
  DEFAULT).find();

テスト・スクリプトでのブラウザー・ツールバー・コマンドは以下の例のようになります。

BrowserToolbar_Back(myBrowser, DEFAULT).click();

あいまい認識が問題になり得る他の状況としては、テストに、同時に実行する複数のアプリケーションがある場合です。再生中、b5().click() のようなコマンドはあいまいです。startApp コマンドは ProcessTestObject を戻すので、この参照を使用して、特定のコマンドが適用されるアプリケーションを指定できます。例:

ProcessTestObject p1 = startApp("SwingTest");
ProcessTestObject p2 = startApp("TryIt");
...
//b5().click(); ambiguous on playback; which application?

b5(p1, DEFAULT).click();

この例の最後の行で、ProcessTestObject は望みのアプリケーションを検索するアンカーとして機能します。なお、ProcessTestObject に対して unregister メソッドを呼び出す必要はありません。


フィードバック