Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WomanDev_Retryの沼にハマってみた!

 WomanDev_Retryの沼にハマってみた!

Speaker: UiPath 白石 智子

UiPath Friends

June 17, 2022
Tweet

More Decks by UiPath Friends

Other Decks in Technology

Transcript

  1. Retryの沼にハマってみた! UiPath Japan CSM 白石智子

  2. 2 自己紹介 UiPath カスタマーサクセスマネージャー 白石智子 2017年10月入社(UiPath歴 4年9か月) 2020年9月から2022年3月まで産休・育休を取得し、2022年4月 からカスタマーサクセスマネージャーとして復職。 UiPath開発歴:

    産休・育休前は、トレーナーとしてUiPathのトレーニングを開催したり、常駐先でトラ シュー・WF開発を行う。 コメント: UiPathFriendsは初心者ですがみなさんと関われることをすごく楽しみにしておりま すのでどうぞよろしくお願い致します!またケーキを食べながら女子会できる日も楽し みにしています! Twitter:@TomokoS_UiPath ↑今日のセッションで何か質問等コメントあればTwitterにお気軽にご連絡ください。
  3. 3 ~懐かしの第一回UiPath女子会~ 私

  4. 4 アジェンダ 01 Retryって何なの? 03 なんて便利なの!Retryの活用方法 04 なんてこった!Retryのやつめ 02 Retryの設定方法

  5. 5 01 Retryって何なの? ・Retry(正式名称:Retry Scope)とは・・・ 1. エラーハンドリングのアクティビティ。 2. Conditionで定義した条件が満たされないか例外がスロー される限り、Actionをリトライするアクティビティ。

    要するに…失敗するかもしれない処理を、何度か再チャレ ンジさせて成功させるためのアクティビティ
  6. 6 02 Retryの設定方法 Retry Scope Condition Action Retryの間隔(デフォルト:5秒) Retryの回数(デフォルト:3回) エラー時に継続するかどうか

    1 2 3 4 5 6 Retry Scopeアクティビティを追加する 1 ActionにRetryをさせたいアクティビティを 追加する 2 Retryする条件を追加する ・Check App State(アプリのステートを確認) ・CV Element Exists(UiPath Computer Visionの要素の存在を確認) ・OCR Text Exists(OCRテキストの存在を確認) ・Exists In Collection(コレクション内での有無) ・Check True/False(True/Falseか確認) 3 エラー時の動作設定(True or False) 4 Retryの回数を設定(回数) 5 Retryの間隔を設定 (00:00:00) 6 アクティビティガイド:https://docs.uipath.com/activities/lang-ja/docs/retry-scope#example-of-using-the-retry-scope-activity Retryのいいところ=めちゃめちゃシンプル
  7. 7 03 なんて便利なの!Retryの活用方法 このUIがなければRetry 1 利用するケース • 特にレスポンスが遅い、不安定な システムのUI操作時に有効 状況

    • ネットワークが不安定なとき • UiPath上、クリック操作は成功し ているようだが、実はうまくクリックで きなくて次のActivityでエラーがで ちゃうとき ①Retryスコープ>Actionに Use Application/Browser を追加し、「不安定システムA」 を設定する ②Clickを追加し、「Nextボタン」 を設定する ③Retryスコープ>Conditionに Check Apps Status を追加し、「ロボットアイコン」 を設定する 不安定システムA上のNextボタン をクリックし、クリック後にロボットの アイコンがでているか確認する
  8. 8 03 なんて便利なの!Retryの活用方法 エラーを出してRetry 2 利用するケース • 特にネットワーク上のファイルを操 作する場合、接続が不安定になり がちなので有効

    状況 • ネットワークの混雑などの一時的な 接続不良によりファイルがみつから ないとき • 直前の処理にファイルを掴まれたま まで操作できないとき ①Retryスコープ>Actionに Copy Fileを追加し、 Fromに共有フォルダの ファイルパスを設定、 Toにローカルフォルダの ファイルパスを設定する ファイルAをネットワーク上の 共有フォルダから ローカルフォルダへコピーする
  9. 9 事件 04 なんてこった!Retryのやつめ ~事件~ もうRetryしなくていいんだよ! SaaSシステムで不安定なUIがあった。 クリックしても先に進まないときがあり、 エラー常習犯。 事件詳細

    システムA Next Retryの間隔を待っている間に、、、 画面が遷移した!しかし・・・Retryに よりまたActionを再試行し始めた。 「もうRetryしなくていいんだよ!」 よし、Retryで安定させよう!! Retryを仕込んだ。 システムA システムA Next システムA Next 期 待 し た 動 き 失 敗 ロボット画面に遷移 システムA Next システムA Next 反応なし Retry システムA システムA Next システムA ロボット 画面に 遷移 Retry すでに画面遷移しているので Nextボタンはない 私 エラー エラー 反応なし
  10. 10 成功フロー ベーコンエピをつかむ ベーコンエピをトレイに乗せる 失敗するかもしれない つるつるすべってつかめないかも… ベーコンエピをつかめない ベーコンエピがトレイにない Retry対策後 ない

    もしトレイにベーコンエピがなければ5秒休憩して もう一度ベーコンエピをつかみに行く
  11. 11 こういうこともある ベーコンエピをつかむ ベーコンエピをトレイに乗せる つかんでる時間がいつもより長い (つかめてはいる) ない ベーコンエピをつかむ ベーコンエピをトレイに乗せる Retryのせいでエラー

    もしトレイにベーコンエピがなければ5秒休憩して もう一度ベーコンエピをつかみに行く ない エラー
  12. 12 04 なんてこった!Retryのやつめ ~対策~ Retryの間隔(Retry Interval)を短く設定し、その代わりにCondition内のCheck App StateアクティビティのWait for Element

    appearのTimeoutを長くする。 対策① こういったケースを想定してRetryのContinue on Errorを Trueにする。 (Try CatchでActionを囲み、エラーをCatchするでもOK。) 対策②
  13. 13 ベーコンエピをつかむ ベーコンエピをトレイに乗せる Retry対策②後 もしトレイにベーコンエピがなければ5秒休憩して もう一度ベーコンエピをつかみに行く ない エラー ベーコンエピがあるのにないと思ってまたベーコンを とりにいくが、もしベーコンエピがなくても気にしない

    ベーコンエピをつかむ ベーコンエピをトレイに乗せる Retry対策①後 もしトレイにベーコンエピがなければ1秒休憩して もう一度ベーコンエピをつかみに行く ベーコンエピがトレイにあるのに またベーコンエピを取りに行く可能性が減る
  14. Thank you.