RPA開発において留意すべき3つのポイント

Pocket

はじめに

RPAツールであるUiPath Studioで業務を内製化したロボットが運用開始後に想定外の障害に見舞われ、頭を悩まされた方も多いのではないでしょうか。

今回は、RPAツールにて業務の内製化を行い、運用した際に発生した事象をもとに、注意すべき点を紹介します。本記事で記載する内容は、UiPath Studioで開発した事例として紹介しますが、他のRPAツールでも発生する可能性があります。

本記事では、下記の方を対象とした内容になります。

  • これからRPA(UiPath)で業務の自動化を実践される方
  • RPA(UiPath)を学習し始めたばかりのプログラミング初心者の方

RPAとは

RPA(Robotic Process Automation)とは、人間がPC上で行っている業務を、ロボットが人間の代わりに実行するテクノロジーです。定型的な事務処理時間の短縮や、残業時間の抑制などに繋がり、高付加価値業務へのマンパワーの投入が可能となります。

UiPath Studioとは

今回利用するRPAツールは、UiPath 社が提供するUiPath Studio(以下、Studio)です。Studioは、RPA化の対象業務をワークフローで実現していく開発ツールです。業務フローはアクティビティ(※1)を組合わせて構築します。

※1. アクティビティとは、ワークフロー構築における処理の最小単位の部品です。(例.ファイルをコピー、条件分岐、等)

<UiPath Studioのイメージ画面>

また、Studioにはレコーダーや表抽出という便利な機能もあります。レコーダーは作業者の操作(クリック、入力フィールドへ文字の入力等)を記録して、自動でワークフローを作成する機能です。作成するワークフローの元情報として利用する場合に便利です。

表抽出は、Web画面やアプリケーションに表示されている表(マトリクス)をデータ化する機能です。表抽出ウィザードから表の要素をクリックすることでデータ化することができ、表データの構造が分らなくても簡単にデータ化できる機能です。また、表データが複数ページに分かれていても1データとしてまとめる機能も備えています。

RPA開発において留意すべきポイント

1.外部サイトを参照するロボットは注意が必要

外部サイトを参照し処理を行うロボットは、自社システムを利用するロボットとは異なり、サイトのリニューアルなどの情報が事前に通知されないことが一般的です。

ここでは、外部サイトを参照したロボットを開発し、運用時に発生した事例をご紹介します。

<事象>

ロボットで交通費申請を行うために、外部サイトの路線検索を利用し、出発駅から到着駅までの運賃が適正か確認する業務を自動化したところ(イメージ図:路線検索の手順)、「このセレクタに対応するUI要素が見つかりません」というメッセージが表示されてロボットが停止しました。

<原因>

利用している「外部サイト・乗換案内画面」がリニューアルされたことが分かり、運賃を算出する最初のUI要素(※2)である「出発駅」のセレクタ(※3)が変わっていたため、認識することができなかったことが原因であると考えられます。

※2. UI要素とは:画面内のボタンや入力フィールド等を表すものです。

※3. セレクタとは:※2のUI要素を識別するためのものです。

<変更内容>

対象となる「出発駅」を含むUI要素すべてを洗い出し、リニューアル後の要素に変更しました。

<ポイント>

外部サイトを利用する限り、このような事象(予告なき変更)を回避することはできません。利用する場合は画面に変更が入る可能性があることを認識した上で利用することが必要です。

また、ロボットごとに利用する外部サイトを管理することにより、一つのロボットが動かなくなった原因が外部サイト変更だった場合、そのサイトを利用している他のロボットへの対応を素早く対処できます。頻繁にリニューアルされるサイトは、ロボットの改修にかかる時間・工数と自動化によって削減できる工数を考慮した上でのRPA化を検討する必要があります。

2.ロボットが操作している画面の改修には注意が必要

ブラウザ画面の構成は、複数のUI要素(ボタン、テキスト等)の組合わせで構成されています。

RPAではこのブラウザ画面をロボットに[文字を入力]、[ボタンをクリック]等のアクションでUI要素を操作しますが、該当画面でロボットが利用していない箇所(今回は画面のタブ名)が変更された場合でもロボットの動作に影響が出てしまう事例をご紹介します。

<事象>

社内システム(営業支援システム)はWebシステムでブラウザを通して操作する仕組みです。情報システム部門より「画面のタブ名を「<営業支援システム>」から「<営業支援システム:東京支店>」へと、担当者の所属部署を付加した名称に変更するので、影響調査を行ってください。」との連絡がありました。

ロボットで変更対象の画面は利用しているが、該当のタブ名は利用していないため、影響なしと判断しました。タブ名が変更された当日に、ロボットを実行すると「このセレクタに対応するUI要素が見つかりません」というメッセージが表示されてロボットが停止しました。

<原因>

社内システムを操作するロボットで、利用する画面のタブ名が変更されたことで、「入力対象:名前」欄のセレクタが変わったため、認識できませんでした。

<変更内容> 

対象となるUI要素を全て洗い出し、タブ名変更後のセレクタに変更しました。

<ポイント>

今回はブラウザへのアクセス例で、変更されたタブ名を指定していない場合でも、セレクタの仕組みを理解していれば回避できる事象でした。セレクタは、直接的な修正点以外の変更でもロボットの挙動に対して影響を及ぼす可能性があります。

ブラウザに限らずどのアプリケーションでも利用しやすいように改善が入ることが考えられ、事前に動作確認を行うことで影響の有無を把握することが必要です。

3.ネットワークを介したファイル操作は注意が必要

ファイルサーバに存在する同じファイルを繰り返し操作するロボットで、発生した事例をご紹介します。

<事象>

社内のファイルサーバ上のExcelファイルに対し「オープン→データ更新→クローズ」を複数回繰り返すロボットを実行したところ、「同じ名前のファイルが既に開いてます」というメッセージが表示されてロボットが停止しました。

※その後、十数回実行を試みたところ今回の事象は発生せず、再現性はありませんでした。

<原因

ファイルサーバに存在するExcelファイルは、ロボットが起動されたパソコンからネットワークを通じて操作されます。通常は「オープン→データ更新→クローズ」が終了して「オープン」処理が実行されます。

その際、「オープン→データ更新→クローズ」の「クローズ」処理が完了しない状態で、次の「オープン」処理が実行される可能性があります。

※今回の事象では、明確な原因が特定できなかったため憶測を含みます。また、再現性がないことからStudioのロジックではないとの判断で環境(ネットワーク)に依存したものと原因を結論づけました。

<変更内容>

ファイルサーバ上のExcelファイルを直接利用するのではなく、パソコンへコピーして利用するように変更しました。

<ポイント>

RPAでの個々の処理はファイルサーバ上で高速に動作するため、ネットワークの負荷状態により想定外の挙動を起こしてしまうこともあります。そのため、ネットワーク接続の瞬断などが懸念され、原因究明ができない場合も多いです。ポイントとしては、ネットワークを利用する部分を限定して利用することです。ファイルサーバ上でファイルをオープンするのではなく、一旦ローカル上にファイルコピーしてから利用すれば、コピー時のエラーは、ネットワーク上で起きたエラーと限定できます。

尚、昨今マルウェア感染などによるデータ漏えいのリスクヘッジのため、ユーザデータ(データファイル)はファイルサーバやNASに保存をしている企業様も増えてきたように思います。こういった社内データをパソコンに格納できない環境でご利用されている方は、「ファイルクローズと次のファイルオープン間に数秒のインターバルを入れる」方法で現象の発生を防ぐ方法もあります。

まとめ

今回ご紹介した事例は、システムに従事している人(経験がある人)からすれば問題を予期できるかと思いますが、今までプログラムを作成したことのない人であれば、予期できないこともあるでしょう。「RPAは簡単だから誰でもできる」というイメージで始めてみたものの、自分が思ったように作ることができずに諦めてしまう方もいます。

今回記載した陥りやすいRPAプログラミングの3つのポイントを簡潔にまとめます。

  1. 外部サイトは事前通知なしで画面変更されます。そのことを認識した上で利用しましょう。
  2. ロボットが操作している画面に変更が入った場合は、必ず動作確認を行いましょう。
  3. ネットワークを介したファイル操作は、なるべくファイルをパソコンにコピーしてから利用しましょう。

今回は、3つの事例をご紹介させていただきました。今後RPAのプログラミングに取り組む方の参考になれば幸いです。

弊社では、お客様業務に合わせた各UiPathツールの導入~運用支援(小~大規模)まで、お客様のニーズに合わせたサービスを展開しております。今回のようなRPA運用について、弊社では実例やナレッジをたくさん持っております。

このナレッジを活用した「RPA活用支援サービス」を是非ともご活用ください。サービスの詳細につきましては、下記URLをご参照ください。

お問い合わせ先

執筆者プロフィール

Gotou Taihei
Gotou Taiheitdi RPA推進室
幅広いRPAの経験と専門知識で、お客様の課題を柔軟に捉えて業務効率化に貢献してきました。
今後も更なるスキルアップに努め、常に最適なソリューションを提供できるよう努めて参ります。
Pocket

関連記事