Webアプリの操作スクリプトをAutoジョブ名人で開発してみた

エンジニアでなくてもRPAのスクリプトは作れる

文●大谷イビサ 編集●ASCII イラスト●まふにゃん

  • この記事をはてなブックマークに追加
  • 本文印刷

 本連載は、IT記者であるオオタニがユーザックシステムのデスクトップ型RPA「Autoジョブ名人」を用いて編集部の業務自動化を進めていくという内容だ。前回はユーザックシステムのセミナーでAutoジョブ名人の操作をレクチャーしてもらったので、今回はさっそく編集部で使っているシステムでスクリプト作成を試してみた。

Webブラウザで勤怠管理システムに打刻するスクリプトを作る

 前回セミナーで習ったことを、今回はさっそく編集部で利用しているシステムで試してみようと思う。まず試したのが、クラウド型勤怠管理システムへの打刻処理だ。打刻処理自体はWebブラウザでシステムにログインして、ボタンを押すだけのシンプルな操作なので、試してみた。まあ、スケジュール化して動作させたら自動打刻機になってしまうので、労務管理的にかなり問題があるのだが……(笑)。

操作のフローは退社の打刻という設定で、

1 Webブラウザで勤務管理システムのページを開く
2 会社名、ユーザーID、パスワードを入力し、ログインボタンを押す
3 ログインページに遷移したら、終業のための「退社」ボタンを押す
4 ページを閉じる

といった具合だ。RPAの基本は、人に手順を教えるようにRPAに教えることだと思っているので、まずは普段意識せずに行なっている操作のフローをきちんと書き出すのがよいだろう。

 前回習った通り、Autoジョブ名人のスクリプト編集目メニューを開き、「新規」ボタンを押して、新たなスクリプトを作っていく。基本は「カテゴリ」で操作対象がWindowsなのか、Webブラウザなのか、Excelなのかを選び、「処理区分」メニューで操作を選択。あとはメニューや入力フォームをタグや画像で指定し、動作を決めればよい。

 一番大変なのは、やはり画面内のメニューや入力フォームを指定するための検索条件を設定することだ。人間の目ではあっさり見つかるボタンでも、RPAに教え込むにはなかなか大変だ。Autoジョブ名人では画像、座標、タグの3つの方法で対象を検索でき、この中では「タグ解析ビューア」を使ったタグでの指定がもっとも正確なのだが、フレームやメニューの多いWebアプリケーションでメニューを正しく指定するのはけっこう難しい。押すボタンが変われば遷移する画面も違うし、画面のサイズでボタンの配置が換わることも多い。とりあえずはタグ解析ビューアで地道に検索対象と文字列を探し、検索テストでチェックし、選択行のテスト再生を繰り返すことで、なんとかボタンを押すところまではできた。ちなみにセミナーではInternet Explorerを使っていたが、ここではGoogle Chromeを使ってみたが、まったく問題なかった。

タグ解析ビューアの習熟が鍵となりそう

 ただ、現状では「出社」ボタンと「退社」ボタンを押し分けることはできないし、そもそも新たにログインしても、前回ログイン時のページになるので、カレンダーから今日の日付を選ぶ必要がある。今のクラウドアプリはユーザーインターフェイスもリッチなのでいろいろなことができるが、これらをおしなべてきちんとRPAで操作できるのか。正直これから勉強するテーマだ。

せっかくなのでWindowsの操作も組み合わせてみる

 次に試したのが、アスキー編集者が記事を投稿するためのCMSへのログイン処理だ。基本は先ほどWebサービスへのログインと同じなのだが、CMS自体はVPN経由でアクセスする必要がある。そのため、フローとしては以下の通りになる。

1 Windowsの操作からVPNクライアントを起動
2 VPNクライアントで接続処理
3 接続完了したら、WebブラウザをCMSのページを開く
4 ユーザー認証を経て、CMSのトップページへ

 今度はWebブラウザのログインに加え、VPNクライアントを起動するというWindowsアプリの操作が入ってくる。Webブラウザ、OS、アプリをまたいで操作を自動化できるRPAらしい操作シナリオだ。

 Windowsの操作も基本Webブラウザと同じ。スクリプト編集画面上ではカテゴリで「Win基本操作」を選び、まずはVPNアプリを起動し、タグ解析ビューアでGUIメニューの中から接続ボタンを指定する。現在のWindowsアプリはWPFと呼ばれるフレームワークに基づいたコントローラと呼ばれる部品の集まりで構成されているので、「接続」ボタンを検索できるように指定したら、あとはクリックの操作を指定すればよい。VPNに無事接続できたら、次にWebブラウザを開いて、前回セミナーで習った操作と同じく、ログインの処理を進める。リスト型なので処理の順番もわかりやすいし、なにより手順をメモ欄に書けるのがよい。

どんな操作をやっているのかメモ書きできる

 ここではまったのはVPN接続時に出てきた「接続完了」のダイアログをうまく識別できなかったこと。ダイアログが表示され、確認のために「OK」ボタンを押すという操作はよくあるのだが、これをRPAできちんと定義する方法がよくわからない。また、Internet ExplorerでCMSを開いたところ、Edgeへの移行をうながすページが表示され、Autoジョブ名人がログインページにフォーカスしてくれなかったことだ。人間だったら、すぐにOKを押すだろうが、ロボットはそんなわけにはいかない。開いたページのうち、どのページでの操作なのかをきちんと指定する必要がある。

苦労して作ったスクリプトが動くとうれしい

 記事執筆のために数時間かけてAutoジョブ名人を触ってみたが、とりあえずエンジニアでなくてもスクリプトは作れそう。一番難関なのは操作対象を指定する部分なので、HTMLやWindowsアプリケーションの知識はある程度必要だが、今のところコードを書く場面には当たっていない。確かにGUIの自動化は難しいが、タグ解析ビューアを活用することで、基本的な操作はロボット化できそうな気がする。今後はRPAの処理でありがちなコピー&ペーストやメール操作もチャレンジしたい。

 Autoジョブ名人の場合、スクリプトをテスト実行すると、操作対象のボタンやフィールドが赤い枠線で囲われるのだが、裏でロボットがあれこれ悩みながら操作しているみたいで応援したくなってしまう。そして、実際にスクリプトが想定通り動いて処理が完了すると、やはりうれしい。プログラマーってこういう達成感も得ているのかと思う。

 ただし、使えば使うほど、「こんな場合はどうする?」という疑問がポロポロ出てくるので、これは解消していきたい。ユーザックの場合、サポートが手厚いと評判だし、「名人+(Plus)」というユーザーコミュニティも用意されている。操作に迷ったら、さっそく質問していきたい。基礎知識と実践はできたので、次は編集部のメンバーに自動化したい業務を聞いてみる予定だ。

過去記事アーカイブ

2020年
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
2019年
11月