GuardedChoice

BizRibo!(過去記事)

■ 過去記事 ■

BizRibo!

2019年ごろのDAは不安定でした。

DAはバージョンアップごとに飛躍的に進化したから
今となっては、懐かしい 安定に四苦八苦したころの記録ですね。


DAでロボを作る際、ステップオーバーで一つずつ動かすと問題なくても、
「実行」で通して動かすと止まる場合、
その原因の多くが「実行スピード」にステップが追いつかないためで、
(まだ入力が終わっていないのに クリックステップに行ってしまうなど)
GuardedChoiceステップで待ち時間を挟むことで回避できるのですが

待ち時間を挟む分だけロボは遅くなり、
必要な待ち時間の長さも環境によって変わるので単純なようで悩ましい問題です。
最終的にはロボの稼働先での調整が必要ですが、
ロボを安定させるためにGuardedChoice(When seconds have passed)を入れておく場所の目安をまとめてみました。

⑴DAエデイタに入った一番最初。エレメントツリーの解析のため。10〜20s
⑵Openステップの後 20s ※Openステップの前は不要。
⑶画面遷移を伴うステップの後 5~20s
⑷Enter Textステップの後1~2s
⑸他 任意
(秒数は目安。環境により一律ではない)
逆に必要ないのは画面遷移を伴わないステップの後

また、複雑な検索やデータ読み込みなど結果処理の反映が長い場合は、待ち時間ではなく、Location FoundのGuardedChoiceが有効です。

例(変数 Local_DA.ChecK Localに抽出(Extract)した任意のチェック値が
Local_DA.ChecK=="ファイルをアップロードしました。"と一致するまで待機1秒をループ)

なお、GuardedChoiceステップを挟んでいくとステップ数が増えてしまいます。ステップ数が多すぎるとまた不安定になる傾向があるので、20を超えるようなら適当なところで区切ってDAアクションを分けるほうがよさそうです。特にループはループ回数分のステップがあると考えステップ数を数えて調整します。

ステップの設定がおかしいから動かないのか、動作が安定しないから動かないのか。
その見極めも慣れていきたいところです。

おわりに。

DAが安定した今でも、GuardedChoiceの必須はかわりません。
現在の使い方はまた順次、記事にていきます!