並列アクティビティを使うケース

ブラウザでWebサービスにログインする際、セッション状況によってはログイン完了までの画面遷移が異なる場合があります。
指定の時間、要素の有無を判別し条件分岐で処理することも可能ですが、都度時間待機する必要があります。

このようなケースでは、並列アクティビティを使用することで余分な待機時間を抑え、効率よく処理を実行することができます。

通常のログイン処理
H
並列を用いたログイン処理

 

並列アクティビティをシーケンスに挿入する手順

1.UiPath Studioを開く

UiPath Studioを起動します。
新しいプロジェクトを作成するか、既存のプロジェクトを開きます。

2. アクティビティタブで検索

アクティビティタブを選択して、検索欄に「並列」と入力します。
– 並列アクティビティをシーケンス内にドラッグアンドドロップします。

並列アクティビティの検索

並列アクティビティの表記

 

並列アクティビティのプロパティ情報

プライベート:処理するデータが機密情報でOrchestratorやUiPath Studioで記録しないようにする場合はチェックを入れます。

条件:並列処理を途中で終了させたい場合、Boolean型の変数を設定します。空白の場合は全ての処理完了後に並列アクティビティを終了します。

並列アクティビティのプロパティ

 

並列アクティビティを途中で終了する仕組み

並列アクティビティ内に処理1,2,3が存在し、1が完了すれば2,3は実施せずに並列アクティビティを終了したい場合、Boolean型の変数を設定して制御します。

1. Boolean型の変数を設定

並列アクティビティより上にBoolean型の変数を設定します。
Boolean型の変数はFalseに設定します。

2. 並列アクティビティのプロパティに変数を設定

並列アクティビティのプロパティの「条件」にBoolean型の変数を設定します。
条件式を入力する必要はなく、変数を追加するのみで問題ありません。

3. 処理1内で変数をTrueに設定

処理1の最後にBoolean型の変数Trueを設定します。
処理1で変数がTrueになることで処理2,3の終了を待たずに並列アクティビティを終了することができます。

補足

処理2,3でUI操作中に処理1の変数がTrueになり、並列アクティビティ全体を終了しようとするとUI操作中のアクティビティがキャンセルされ、例外エラーが発生する場合があります。

例外エラーを回避するには特定要素の表示が完了次第、UI操作を実施するように設定します。
各処理のUI操作前に要素を探すまたはアプリのステートを確認を追加します。
UI操作アクティビティのタイムアウト値は並列アクティビティ内で統一してください。

完了イメージ

完了イメージ