RPAチャレンジに挑戦してみた

  • TAG

    UiPath
  • UPDATE

    2019/01/09

こんにちは!
RPAを勉強中の皆さんに、今回はRPA学習に役立つとある便利なサイトで初心者がUiPathを利用して取り組んだ記録をお伝えしようと思います。

まずはそのサイトがコチラ

何やら英語で書かれていて、アカウント作成しないといけないのかな? 電話番号まで必要なのかな? というのが第一印象。
ですが、そんなことはありません!それでは今からそのワケを説明します。

■ココを選んだワケ

まずはこのサイト、なかなかに意地悪です。 一見すると、ダウンロードしたExcelファイルから必要なデータを取り出して 対応するボックスに入力後、送信するだけの簡単な問題に見えます。 しかし、Submitボタンを連打すればわかりますが、 動くのです!項目の順番が!位置が!!

毎回項目が移動する中で法則を見つけ出し、ロボットに対応させる。
分量的には多くなく、難易度は少し高く、初心者にはちょうどいいRPAチャレンジ。 おまけに、採点と時間計測までしてくれる優れものです。

■戦いの軌跡

それでは実際に問題に取り組んでみましょう。
※今回は前提条件として、既にExcelファイルはダウンロード済みで、xamlファイルと同フォルダに格納していることとしました。

まずは大枠のイメージから。
以下の2点が初めに考えた大枠でした。

1) 同様の操作を行う処理があるので、ループさせるためにフローチャートを使う。
2) Excelからデータを取得する処理と、STARTボタンを押す処理をループの前に終わらせておく。

次は、実際に作るときの考察。
以下の3点がループ1周目作成時に気を付けたことです。

3) どれも差異がなく、テキストボックスを直接選択して値を入れるのは難しいだろうと思い、 近くのタグを足掛かりにtabキーで対応するテキストボックスに移動して入力する。
4) tabキーで移動した先が毎回正しく遷移できていることを確認する。
5) 一人目の入力が100%正しく入力されたことを確認してから二人目に行く。

そして出来上がったものがこちら。

Excelのデータをまずは、ヘッダー付きで丸ごとDataTableに格納し、続いてスタートボタンを押下。
そこからループが始まり、情報入力処理(※)にて各テキストボックスにDataTableの該当する情報を入力させます。
入力が終わると、Submitボタンを押下して、ループカウントを増やし、次のループへ。
この処理はInstructionsに記載がある、「10」周になるまで続けられます。

※情報入力処理詳細

そして採点。ビックリしました。正答率3割。想定ではもちろん満点でした。
こんなはずではなかった。原因を追究しなければ・・・
何度か挙動を確認しているうちに考慮漏れに気付きました。

まずは、日本語入力になっていたこと。文字列をただペーストしているわけではないため、 日本語に変換されたり、変換予測候補が出てしまい、クリックに失敗することがありました。
続いて、画面サイズ。画面内に選びたい項目がない場合、クリックがうまくいかないことがあり、入力箇所がずれることがありました。
そして、Submitボタンの押下にも失敗し、評価画面に到達することすらできないときもありました。
これらはプログラミング中は考えつかなかったトラップでした。

ひとまず原因が分かった事で、半角英数にしておき、画面サイズも縮小した上で実行。
すると。。100%正解!!あぁ、プログラムは間違っていなかったんだ・・・感動しました。
自動で正しくポチポチ動くのを眺めるのは非常に清々しい気持ちになります。

100%が出たときの記録(156秒ほどかかりました)

と、言うことでトラップ対策を盛り込んだものがこちら

ループ処理に入る前に、メッセージでユーザーに環境設定をさせるようにしました。

そして万が一Submitボタンを規定回数押下できずに評価画面までたどり着けなかったときは、 評価画面が出るまで押下するように処理を追加しました。

■最後に

今回のチャレンジでは、プログラムは正しいにも関わらず、環境によっては正しく動かなくなってしまうという、 RPAで気を付けるべきトラップを経験しました。
プログラムを見ているだけでは気付きにくい、RPAの特徴とも言うべきものですね。
そういった考慮漏れを気付かせ、時間計測によってパフォーマンスを意識させる。
このRPAチャレンジは実務に向けた非常に良い教材です。
皆さんもぜひチャレンジしてください!
(さらに速い記録が出るロボットを作ってみましょう:ヒントはテキストボックスのセレクター)

ページトップ