このセクションでは、Web シナリオの待ち条件をカスタマイズする方法について説明します。

このセクションの内容:

待ち条件とは

現在のシナリオ ステップの検証/抽出フェーズに移行し、その後シナリオの次のステップに移行するために、ユーザー アクションを実行した後 SOAtest/Virtualize が待機する時間をカスタマイズできます。

ユーザーが Web ページと対話するとき、Web ページはユーザーの操作に応答します。たとえば、ユーザーがリンクをクリックすると、ページは新しいコンテンツを再読み込みします。ユーザーがメニュー アイテムを選択するとき、ページの他の部分が更新されるかもしれません。ユーザーは、次の操作を行う前に、ページの更新が完了するまで無意識に待ちます。つまり、多くの場合、ユーザーは次に操作するページ要素を表示するために更新を待つ必要があります。

テストの自動化を実装する際、この判断を設定する必要があります。ページの準備ができる前にシナリオ実行プロセスの継続を試みないように、SOAtest/Virtualize は十分に待機しなければなりません。しかし同時に、自動化利点の 1 つ (すなわちスピード) を達成するために、迅速に実行されなければなりません。

SOAtest/Virtualize は記録中に待ち状態を自動的に構成します。各 Web シナリオ ステップに、次のシナリオ ステップで使用される要素を待つために遅延を追加します。これは、リンクがページに表示されないことには、次の Web シナリオ ステップがそのリンクをクリックできないからです。

記録中に SOAtest が、アクションによって新しいページが読み込まれると検出する場合、 SOAtest/Virtualize は "ページの読み込みを待機" を追加します。

ページが AJAX リクエストを実行する場合など、記録中に SOAtest/Virtualize がページの読み込みに起因しないネットワーク トラフィックを検出する場合、 SOAtest/Virtualize は "HTTP トラフィック無発生時の待機" を追加します。これは、適切なリクエストを作成するために Web アプリケーションに十分な再生時間を与えるためです。

しかしながら、望みどおりにシナリオを実行するために、待ち条件を手動で調整または修正したい場合もあります。多くの場合、複数の待ち条件が 1 つのシナリオ ステップに使用されます。

待ち条件の指定

シナリオの記録中にキャプチャされた待ち条件は、シナリオ ステップの [待ち条件] タブで確認し修正できます。次の待ち条件が利用可能です。

[待ち条件] タブから手動で新しい待ち条件を追加することに加え、Browser Contents Viewer ツールから自動で追加することも可能です。

Browser Contents Viewer から待ち条件を追加

Browser Contents Viewer では、レンダリングされた Web ページのビューから、待ち条件をグラフィカルに指定できます。

Browser Contents Viewer ツールから新しい待ち条件を追加するには、次の操作を行います。

  1. 待ち条件を指定したい要素を右クリックします。
  2. ショートカット メニューから [待ち条件の追加] を選択します。
  3. [待ち条件の追加] ダイアログで、新しい待ち条件の詳細を指定して [OK] をクリックします。

追加された待ち条件は、クリックされる要素が表示されるまで待機するよう自動的に設定されます。

待ち条件に関連する要素を識別

待ち条件のソースである要素は、Browser Contents Viewer で緑色の枠線でハイライトします。

待ち条件の実行順を構成

待ち条件は [待ち条件] タブに実行順に表示されます。[待ち条件] タブで適切なボタンをクリックすることで、条件の追加、削除、そして順番の変更を行うことができます。

待ち条件の順番は大切です。

SOAtest は、他の待ち条件が成功するか失敗するかにかかわらず、すべての待ち条件を表示されている順番で実行します。待ち条件が失敗すると (その条件が、その条件のタイムアウト前に満たされなかったことを意味します)、エラー メッセージが生成されます。たとえば、ほとんどの Web アプリケーション ページの読み込みは一般的に、非同期リクエストがされる前に起こります。したがって、ページ読み込みと非同期リクエストの両方を持つシナリオ ステップの待ち条件 は、[ページの読み込みを待機] が [非同期リクエストを待機] の前にくるべきです。条件の順番が入れ替わると、 [ページの読み込みを待機] が失敗するのではなく、[非同期リクエストを待機] 待ち条件はページ読み込みが発生した後に起こる非同期リクエストを待機します。その後、[ページの読み込みを待機] 待ち条件は実行されますが、読み込むページがもうないため、タイムアウトして終了します。

[指定した時間の待機] 以外の各待ち条件にはタイムアウト時間があります。待ち条件がタイムアウト時間内に満たされなかった場合、エラー メッセージがレポートされるので、待ち条件の調整ができます。しかし、シナリオ ステップは待ち条件が失敗しても継続されます。タイムアウト時間は、設定ダイアログに設定されているデフォルトのタイムアウト時間を使用することも、個別の待ち条件でカスタマイズすることも可能です。