アクティビティのプロパティの項目の「準備完了まで待機」と「タイムアウト」についてご教示ください。
準備完了まで待機にCOMPLETEを設定した際、アクティビティの動きとして、以下2点のどちらかの挙動になると考えています。
以下どちらになるか、また検証する方法があれば教えていただきたいです。
①準備完了まで待機が動き始める前にタイムアウトのカウントが開始するか
② 準備完了まで待機が動き始めたあと、タイムアウトのカウントが開始するか
In UiPath Studio, the “WaitForReady” and “TimeoutMS” properties are crucial for controlling the behavior of activities when interacting with UI elements.
WaitForReady Property
The “WaitForReady” property determines when the activity should start executing based on the readiness of the target UI element. It has three options:
- None: The activity does not wait for the UI element to be ready and proceeds immediately.
- Interactive: The activity waits until the UI element is partially loaded and ready for interaction.
- Complete: The activity waits until the entire UI element is fully loaded and ready for interaction12.
TimeoutMS Property
The “TimeoutMS” property specifies the maximum amount of time (in milliseconds) that the activity will wait for the UI element to be found before throwing an error. The default value is 30,000 milliseconds (30 seconds)13.
Behavior with WaitForReady Set to Complete
When “WaitForReady” is set to “Complete,” the activity will wait for the entire UI element to be fully loaded before proceeding. Regarding your specific questions:
- Does the timeout count start before the wait starts to move until it is ready?
- No, the timeout count does not start before the wait. The timeout period begins when the activity starts executing and waits for the UI element to be ready4.
- After the wait starts to move until the preparation is completed, does the timeout count start?
- Yes, the timeout count starts when the activity begins waiting for the UI element to be fully loaded. If the element does not become ready within the specified timeout period, an error will be thrown4.
Verification
To verify this behavior, you can:
- Log Messages: Use logging activities before and after the activity to check the timestamps and confirm when the waiting period and timeout start.
- Adjust TimeoutMS: Set a shorter timeout period and observe if the activity throws an error after the specified time.
LLM helped me to write this but it’s validated me.
そのような挙動があるサイトなり、アプリケーションがないと再現が難しいので、検証が難しいですね。
アクティビティの内部構造の視点でいうと、例えば以下はVisualStudioでUiPath用のカスタムアクティビティを作成するUiPath Activity Creatorというツールのドキュメントですが、ベースの部分でタイムアウト値を設定できる構造になっています。
おそらくこれと類似の構造をとっていると思いますので、タイムアウトはアクティビティの実行開始時から起算した時間になっていると思います。
@ashokkarale
WaitForReady プロパティ、TimeoutMS プロパティ、検証方法についてご教示いただきありがとうございます。
@Yoichi
アクティビティの内部構造の視点でのご回答ありがとうございます。
インターネットブラウザの開発者モードでネットワークの速度の調整が可能でしたので、対象をインターネットブラウザ上の要素とし、タイムアウトはアクティビティの実行開始時から起算した時間という前提のもと検証を行いました。
タイムアウト値に設定した時間を過ぎるとタイムアウトしたので、①準備完了まで待機が動き始める前にタイムアウトのカウントが開始する の結果となりました。
解決しましたので本件はクローズとさせていただきます。
ご回答いただきありがとうございました。