RPA開発で躓いた時の検証のポイント

RPA開発時にエラーが発生した場合、まずはログを確認してエラー箇所とエラー内容を特定することが一般的ですが、それだけではエラーの詳細や、実際の挙動がよくわからないこともあるかと思います。
そのため、どのようにエラーの検証を進めるかに困っている開発者もいるのではないでしょうか?
今回はそんな時に役立つ検証時のTipsについて4つご紹介します。

動画でロボットの実行を撮影

RPAの動作環境や実施業務によっては動画を撮影することは難しい場合もありますが、動画の撮影が可能であれば、様々なメリットがありますので、検証開始時の実行と合わせて撮影すると、検証をよりスムーズに進めることができます。

動画を撮影するメリット

  1. 撮影した動画は繰り返し確認可能で、再実行の手間を省ける
    1回の実行時間が長い、実行データを複数用意できない、手間がかかるなど、ロボットの複数回稼働自体が困難な場合、動画を1回撮影すれば繰り返し確認が可能です。
  2. 一時停止や早送りで特定箇所の処理を確認できる
    処理が速い箇所やエラー箇所のみ確認した時など、動画を一時停止や早送りすることで該当箇所を素早く確認できます。
  3. 動画を改修前の状態のエビデンスとして、改修前後の比較などに使用可能
    一度改修を行うと、改修前の実行状況が確認しにくくなりますので、改修前のエビデンスとして使用可能です。

メッセージボックスを活用

メッセージボックスでしらみつぶしに検証

Automation360やUiPathなどのRPAツールに備わっているメッセージボックスを活用していますでしょうか?
メッセージボックスはロボットで変数の代入状況やループ・条件分岐の処理状況を実行途中に取得したい時や、ロボットを停止して手動での操作を挟みたい時に使用します。

ただしメッセージボックスは使用上の注意点などもあるため、メリットデメリットを理解し、運用する必要があります。
※メッセージボックスの機能がないRPAツールもあるため、備わっているかはご利用のRPAツールをご確認ください。

メッセージボックスを使用するメリット

  1. ロボットの実行を一時停止できる
    メッセージボックス表示中はロボットの実行を一時停止できるため、処理スピードが速い場面に設定すると、画面を確認しやすいです。また、一時的に検証用のログイン情報を手動で入力するなど、手動操作もロボットの停止中に操作が可能です。
  2. ロボットの実行中にメッセージボックスを表示させる操作は不要
    ロボットの実行中に自動でメッセージボックスが表示されるため、別途操作する必要がなく、誤って画面を操作してロボットがエラーになることがないです。
  3. ログなどを確認せずとも、ロボットの実行中に必要な情報を取得可能
    メッセージボックスに表示される内容を設定することで、変数の代入・ループや条件分岐の処理状況などの情報をロボットの実行途中で取得可能です。

メッセージボックスのデメリット

  1. 確認箇所ごとに設定が必要
    確認したい箇所ごとに設定をして、表示させる必要があり、設定時の時間がかかります。
  2. 検証後の削除漏れによる副次的なエラーが発生する
    メッセージボックス機能の性質上、ロボットがメッセージボックス表示中一時停止されて、処理がいつまでも完了しないなどのエラーが発生します。
  3. ロボットの停止を繰り返すため、検証に時間がかかる
    ロボットが一時停止を繰り返すため、通常より実行に時間がかかります。
  4. 可読性の低下
    不要なメッセージボックスが残っているとエラーが無くても、あとからメンテナンスする場合にロボットが冗長になり、可視化が低下します。

例として、弊社で検証時にメッセージボックスを使用する場合のルールをご紹介します。

メッセージボックスを使用する際のルール

  1. 【テスト】と必ずつける
  2. 不要になった時点で削除することを徹底する
  3. 検証終了時、メッセージボックスを削除できているかは「テスト」を検索し確認

※検証時のテストソースの前にコメントなどを使用する場合も同じ使用ルールで設定します。

Automation360のメッセージボックス設定

Automation360で「テスト」を検索した場合

UiPathのメッセージボックス設定

UiPathで「テスト」を検索した場合

手動で操作を実行

ロボットの動作と手動操作時の動きを比較しよう

出力されたログだけではロボットがどういう挙動をしているのか、また、その動作が正しいのかについてイメージがつかない場合、手動でも操作してみると比較ができて判断しやすいです。手動操作とRPA実行の操作を比較することで、ロボット側の問題なのか、それともロボット以外の原因なのかを切り分けて、それぞれ対応することができます。

比較の結果に応じた対応

  1. 手動操作時にはエラーが出ない場合、ロボットが原因であると思われるため、ロボットの設定を変更します。
    ロボットの処理では処理スピードが速かったり、操作するフィールドがうまく認識できなかったりなど、手動操作と異なる点があるため、エラーになる箇所を比較して、ロボットを調整します。
  2. 手動操作でもエラーが出る場合、処理手順や使用データ、システムなどに原因がある可能性が高いため、外的要因の排除を優先します。
    ロボット以外の要因によるエラーの場合は、まずは外的要因をクリアして、それから検証を再開します。

サンプルロボットを作成

サンプルロボットを活用すると無駄なく検証できる

よく別途ロボットを作成することは無駄なことだと思われがちですが、実はサンプルロボットにはいろんなメリットがあり、適切に作成することは検証の助けになります。
特に様々な処理が含まれているロボットや、親子関係が複雑なロボットの一部分の処理の検証のみ確認した場合に使用すると効果的です。

サンプルロボットを作成するメリット

  1. 開発中のロボットに影響がない
    別途作成するため、すでに作成している開発中のロボットには影響がなく、一時的に処理を調整するなどの使用方法もできます。
  2. 必要な部分だけ作成することで検証の時間短縮になる
    一部分の処理を確認したい時、部分的な処理を切り出してロボットを作成することで、全体の処理をすべて実行するよりはるかに時間短縮になります。

サンプルロボットを作成するデメリット

  1. 管理をルール化しないと、野良ロボットになる
    良ロボットになったり、誤って実行して業務に影響を与えるなどの可能性があります。
    サンプルロボットについての運用方針として、不要になった時点で削除することを徹底することで、野良ロボットの発生を防ぐことができます。
  2. 修正したい内容を開発中のロボットに反映する必要がある
    あくまで開発中のロボットとは別で設定しているため、修正が開発中のロボットにも適応する必要がある場合、別途反映の作業が必要となり工数がかかる。

今回ご紹介した検証時のTipsについて、一つだけでなく、組み合わせることでも検証をスムーズに進めることができます。
検証の進め方に躓いたら今回紹介したTipsを試してみてください。
もし自社で検証をうまく進められない、検証時の運用方針で相談したなどのお悩みがありましたら、どうぞ私たちに相談してください。

本記事の執筆者

ペネトレイター株式会社 髙橋