WinActorではじめるRPA入門(4)〜 デバッグ編
今回の内容は、おそらく多くの開発者が多くの時間を割くであろうデバッギングについて触れます。
Contents
ロボットの動作が期待と異なる時の対処方法〜デバッグ
予期せぬ致命的状態が発生した場合の対処法〜例外処理
こちらの記事では、期待した通りにロボットが動かなかったり、エラーが出て動作しない場合に対処する方法について学習します。
ロボットが期待通りの動作をしない時
作成したロボットが期待通りの動作をしない場合があります。
特に、自動レコーディングを用いて作ったロボットは値を変更した時などに期待通りの場所をクリックしなかったり、クリックすべき場所を発見できずにストールしてしまうことなどがよくみられます。
ロボットが異常停止してしまう時
期待通りの動作をしないという中には、ロボット自体が異常停止してしまうケースもあります。
例えば、ユーザーが入力するテキストの形式が期待と違う、Webサイトから取得してきたデータの形式が期待と違うなどです。
問題は、問題の場所が特定できないこと
上述のように、原因がわかっていて動作しないというのであれば、すぐに修正ができます。しかし、ロボットを普通に実行していると、想定外の事態がどこで起こったのか、何が問題だったのかが分からないケースにもたくさん遭遇します。
そこで、ここでは、問題の場所発見に着目してWinActor上でどのような機能が提供されているのかを学習してきます。
デバッグ実行
ブログ執筆時には、WinActorにはデバック実行のモードはありませんでした。
例外処理
例外の発生
ロボットが動作を継続できない状態に陥った時、ロボットは異常終了してしまいます。終了する前に、管理者へ通知を出したり、仕掛かりの仕事を元に戻したりしたい時、どうすればよいでしょうか。
この機能を提供しているのが、「例外処理」アクションです。アクションパネルにある「例外処理」アクションをメインパネルのシナリオ内にドロップしてみましょう。例外処理グループという枠が表示されます。
実際に実行したい処理は、「正常系」ラベルの下にアクションを登録していきます。また、エラーが発生した場合に実行したい処理は、「異常系」ラベルの下にアクションを登録します。
試しに例外を発生させてみましょう
Excelファイルを読み込んで、中身のデータを表示するロボットを考えてみます。具体的なロボットの設定は下記の通りです。
「Excel操作」と「待機ボックス」の2つのアクションを順に設定します。このとき、「Excel操作」アクションのファイル読み取りの例外を発生させるために、指定するファイルのパスを存在しないものに設定するか、設定した後に該当ファイルを削除しておきましょう。
待機ボックスの表示メッセージは変数dataの値を表示するために、「A1セルの値は、%data%」とでも書いておきましょう。
エラー発生
設定が完了したら、管理画面の「実行」ボタンをクリックします。期待通りに例外が発生したと思います。Excelファイルの読み取り時にエラーが発生したため、その後のメッセージボックスは表示されずに処理が異常終了しました。
例外処理
先ほどの例外を正しく処理するために、次のような方針で対処してみましょう。
方針
- 例外処理のアクションを追加する
- 例外処理の「正常系」に先ほどの「Excel操作」と「待機ボックス」を設定する
- 例外処理の「異常系」に、エラーが発生した内容を通知する「待機ボックス」を設定する
具体的なロボットの設計は下記のようになります。「異常系」ラベルの下に、「待機ボックス」のアクションを新規で設定します。
異常系に設置した「待機ボックス」のアクションでは、下記のようにエラーが発生したことを伝える内容を記入しておきましょう。
設定が完了したら、管理画面の「実行」ボタンをクリックします。期待通りに例外が発生したと思います。しかし、今度はエラーが発生したことを知らせるメッセージが表示されて処理が終了しました。
復習
今回は、期待した通りにロボットが動かなかったり、エラーがでて動作しない場合に対処する方法、デバッギングの方法を学習しました。
ロボットの動作が期待と異なる時の対処方法〜デバッグ
- 予期せぬ致命的状態が発生した場合の対処法〜例外処理を説明してください
どんなときに例外処理が必要になるか説明してください
例外が発生した時に、正常系として処理する方法を説明してください
また次回。
WinActorではじめるRPA入門 (5) 〜 アプリケーション自動化編