待機ステージ

Object Studioで待機ステージを使用すると、ターゲットアプリケーションで特定の条件が満たされるまでビジネスオブジェクトの実行を一時停止し、その結果に応じてビジネスオブジェクトのフローを分岐できます。これは、タイムアウトステージを使用して実行されます。このステージはステージのプロパティ - 選択ステージのその他の場合ステージに似ています。

ビジネスオブジェクトでは、さまざまな結果のうちの1つが発生するのを待つことができます。たとえば、新しいデータをコミットした後には、ポップアップウィンドウまたはエラーメッセージが表示されたり、別のイベントが発生したりする可能性があります。ビジネスオブジェクトは、変更が検出されない場合、指定されたタイムアウト期間後も実行し続けるように設計できます。

待機ステージを使用すると、次を実行できます。

  • 対話の準備状態を検出する - 待機ステージを使用すると、ターゲットアプリケーションの準備が整っていることを確認できます。たとえば、アプリケーションを起動した後は、ロードが完了するのを待つ必要があります。これは、メインアプリケーションウィンドウが表示されるのを待つことで実現できます。他の例として、新しいデータを送信する前に、ステータスバーのシステムアイドルメッセージを待つ必要があるとします。これは、ステータスバーのテキストに「システムアイドル」と表示されるのを待つことで実現できます。
  • アクションの結果を検出する - 複数の条件チェックが行われるときに、最初に発生する結果に応じてビジネスオブジェクトのフローを分岐させることができます。

プロパティのフォーム

待機プロパティフォームのアクションリストには、待機ステージでチェックする条件が表示されます。

アクションは上から下へ順番に実行されるため、条件は正しい順序で追加する必要があります。たとえば、最初の条件を 「[名前を付けて保存]ダイアログが存在するかどうか確認する」とし、2番目の条件を 「エラーメッセージウィンドウが存在するかどうかを確認する」とすることができます。

条件の1つが満たされると、ビジネスオブジェクトはプロセス図の対応する分岐に従います。条件ごとに1つの分岐があり、分岐はリスト内の条件と同じ順序で図に表示されます。どの条件も満たされない場合、チェックは最初の行から再開されます。このループは、条件が満たされるか、タイムアウト期間が経過するまで続きます。

各待機条件は以下で構成されます。

  • 要素アプリケーション要素は条件のターゲットです(指定されたアプリケーションウィンドウが存在するなど)。
  • 条件 - どの状態がその要素に対してチェックされるべきかを記述します(CheckExists、GetWindowTextなど)。
  • タイプ比較 - 提供された値を対象アプリケーションで見つかったデータと比較する方法を説明します。これは、データが等しいか、等しくないか、ワイルドカードパターンと一致するかどうかを検出する、またはある値が別の値よりも大きいかどうか(数値の場合)を確認するためです。
  • - 比較で使用される期待値。

待機条件を追加する

  1. 追加]をクリックします。

    新しい行がアクションリストに追加されます。

  2. アプリケーションエクスプローラから要素フィールドにアプリケーション要素をドラッグアンドドロップします。

  3. アプリケーション要素のマッチタイプが作成時に[動的]に設定された場合、[パラメーター]フィールドの[...](省略記号)をクリックして、アプリケーション要素にパラメーターを指定する必要があります。これにより、ビジネスオブジェクトがプロセスの一部として実行されるときに要素が識別可能になります。詳細については、「要素パラメーター」を参照してください。

    このボタンは、アプリケーション要素のマッチタイプが動的の場合のみ使用できます。

  1. ドロップダウンリストから[条件]を選択します。このリストは、選択したアプリケーション要素の種類によって動的に変化します。条件がリストに表示されない場合は、選択したアプリケーション要素に対する条件を確認できません。
  2. オプションで、[タイプ]フィールドにカスタム比較タイプを入力できます。たとえば、ワイルドカードパターンの一致を実行できます。ただし、ほとんどの場合は、等価性のテストであるデフォルトの比較タイプの使用をお勧めします。
  3. ]フィールドに、期待値を入力します。たとえば、CheckExistsの場合、値は「True」または「False」になります。GetTextの場合、値は期待されるテキストになります。条件が完全に一致するためには、ここに入力された値が完全に一致する必要があります。
  4. 待機ステージのタイムアウト期間を指定する

タイムアウト期間を指定する

待機ステージのタイムアウトの長さを[タイムアウト(秒)]フィールドに入力します。ここには、待機ステージが満たされるべき条件の1つをチェックし続ける最大時間を秒単位で表す数値にできます。または、フィールドに式を入力できます。式を使用すると、グローバルタイムアウト値をデータアイテムに格納し、このデータをすべての待機ステージで参照できます。

タイムアウト期間が経過した後にいずれの条件も満たされない場合、ビジネスオブジェクトフローはプロセス図のタイムアウトステージからのリンクをたどります。このリンクがない場合、ビジネスオブジェクトはエラーで停止します。