見出し画像

RPA: Microsoft Power Automate 1

ちょっと前に仕事の関係でRPAを使用せざるを得ないことになり導入することになった。
私の個人的見解はRPAはエンドユーザが手軽にアプリ間の自動化処理を行う為のツールで実務の手作業をレコーディング機能で記録してそれをベースに分岐処理などを簡単に追加できる仕様のアプリケーションと理解しており、昔WEBシステムのテストで使用したseleniumのイメージが強かった。

当時(10年前)のseleniumはブラウザ上で使用するものでExcelやWordで使えたか使えなかったか、確か画面上の座標ポイントのクリックでブラウザ以外のアプリを操作するような仕様だったと思う。これの問題はアプリの画面表示がずれたり裏に回ると動作しないなど問題あった。
OSレベルやアプリのAPIをキックする自動処理ではなく画面表示の位置で動作させる為に常に動作に不安があった。その為に何重ものエラー処理を追加する必要がありとてもエンドユーザが手軽に使える代物ではなかった。

それでもWEBシステムの開発終了時の規定のテスト仕様を修正の度に繰り返す作業には必須だったこととクライアントの技術的好奇心の為に使っていたがその案件以降遠ざかっていた。

今回、とあるユーザでWEBサービス上の数千件のデータに同一処理を行うことになりRPAを導入検討した。
現状は1台で処理するのでスタンドアローン型のRPAでも良いのだが将来的には複数台の連用になることは明確だった。場合によっては全社的な処理になる想定も指示された。

クラウドを意識した企業向けのRPA製品でNo1は"UiPath"であるが価格が高いことで却下された。いくつかの選択肢を出した中で価格も安く、製品が安定供給できる企業で、Excel/Wordを操作することも考慮して"Power Automate desktop"にクライアントの意向も落ち付いた。

私としてはExcel/Wordは心配していなかったがブラウザはどうなるのかが確認ポイントだった。

RPAの選択において、作成者はプログラマではなくエンドユーザが作ることを大前提にした場合、レコーディング機能は絶対に必須である。そしてレコーディングしたログを元にエンドユーザが自らカスタマイズできねばならない。RPAを外注するのは愚の骨頂だ。

この大前提で評価したが、ブラウザ上のボタンなどのオブジェクトは座標位置ではなくClass名やID名などを認識してレコーディングしていた。中にはinput文のname値とかもあった。クリックする位置で微妙に認識するものが違うが動作に問題はない。曲者のHTMLさえオブジェクトで認識できれば位置ずれを気にしなくていい。

ここまでの評価では問題は感じなかった。
しかし実際にサンプルをレコーディングしてカスタマイズしてこのアプリケーションのNocode性を思い知ることになった。

この記事が気に入ったらサポートをしてみませんか?