BizRobo! CAMPUS!!第11回~DA編~に参加しました!
こんにちは!
RPA新人開発者の戸波です。
今年も残りわずかとなりましたが、元気に頑張っていきましょう!
先日、RPAテクノロジーズ株式会社主催のBizRobo!初心者向けセミナー、「BizRobo! CAMPUS!!」のDA編に参加しました。
今回は、BizRobo! CAMPUS!!のDA編に参加した感想をお話しします。
本ブログでは、講義内容から大事な点をピックアップしてご紹介したいと思います。
BizRobo!でより高度なロボットを開発するために、DAの使い方をマスターしましょう!
DAの使い方に自信がある方もそうでない方も、ぜひ今回のブログを参考にしてください!
BizRobo! CAMPUS!!のアジェンダ
今回は、以下のような流れで進行しました。
(出典:RPAテクノロジーズ社 BizRobo! CAMPUS!!のスライド)
DA(Desktop Automation)とは
DA(Desktop Automation)とは、デスクトップアプリケーションをロボットで自動化するための機能です。
ロボット開発を行う上で、DS(Design Studio)では扱うことができないWindowsやJavaなどのアプリケーションを操作する場合に利用します。
(例:Outlook、PowerPoint、Adobe Illustratorなど)
開発用PCが、RoboServerやDesign Studioからの命令で操作対象のPCをリモート操作することで、処理を自動化します。
リモート操作の対象になる操作対象PCは、物理的なPCではなくてもDAを操作することは可能です。
その場合、操作対象のPCが物理的でない場合は仮想デスクトップを活用するなどの方法で操作対象PCを作り出し、操作することになります。
DAはさまざまなアプリケーションが扱えるためとても便利ですが、毎回DAだけで開発を進めてもよいとは限りません。
以下のような場合に限って利用するとよいかと思います。
- DSのブラウザで開くことができないコンテンツ
- DSで行うことができないExcel操作
- DSで行うことができないアプリケーション操作
つまり、DAの使用は「DSが利用できない場合の最終手段」といえます。
以上の3つの場合にあてはまり、DAを利用することにした場合はどのような機能を利用すればよいでしょうか。
DSのブラウザで開くことができないコンテンツには、Chromiumを利用します。
Chromiumについては、以前のBizRobo! CAMPUS!!のブログでも紹介しておりますので、そちらもぜひ参考にしてください。
Chromiumは、DAを開いて「参照ステップ」を選択しURLを打ち込むことによって利用できます。
(出典:RPAテクノロジーズ社 BizRobo! CAMPUS!!のスライド)
DSで行うことができないExcel操作については、Built in Excelを利用します。
Built in Excelは、DAを開いて「Excelステップ」(Ver11以降対応)を選択しURLを打ち込むことによって利用できます。
(出典:RPAテクノロジーズ社 BizRobo! CAMPUS!!のスライド)
開発用端末とは別のPC端末の画面の操作を行う場合には、操作したい端末にDAS(Desktop Automation Service)をインストールして利用します。
(出典:RPAテクノロジーズ社 BizRobo! CAMPUS!!のスライド)
DA利用時の心得
BizRobo!でDAを利用して開発を行う際に、おーいさん自身が気を付けていらっしゃる3つのポイントについても講義内でお話しいただきました。
(出典:RPAテクノロジーズ社 BizRobo! CAMPUS!!のスライド)
①1つのDAステップに実装するステップ数をできる限り少なくする
1つのDAロボット内に複数の操作を行うステップをまとめた場合、エラーが起きてロボットが停止したときエラーログを見て原因箇所を探すのに一苦労してしまいます。
そこで操作ごとにDAロボットを作成することで、エラーの原因箇所を特定するのが楽になります。
後々のメンテナンスや動作確認時のためにも、操作や処理ごとにDAロボットを作ることをおすすめされていました。
(出典:RPAテクノロジーズ社 BizRobo! CAMPUS!!のスライド)
②端末操作時においては都度待機設定を行う
ロボットの安定性を上げ、処理が途中で停止してしまうことを減らすために必要になってきます。
ガードチョイスステップを使って、一定時間経過後もしくはタグや属性情報の出現・消失といったアクションの実行結果が確認できるまで待機する処理をはさみます。
ガードチョイスステップは、ステップ内にある条件を満たしたときに関連付けられているステップの処理が実行されるというものです。
DA環境のPCスペックや負荷等によりレスポンス速度も変わってくるため、待機時間をよく考えて「特定の秒数が経過した時」で値を設定する、もしくはガードチョイスステップ内のツリーの変更停止で待機します。
待機の際に値で待機時間を指定していた場合は無駄に待機時間を設定してしまったり、逆に待機時間が足りなかったりすることもあるため、待機時間が明確に決まっている場合以外はお勧めできません。
基本的に更新待機処理についてはツリーの変更停止を利用しますが、JQueryやAjaxなど短時間監視が入っていることでツリーが変更停止とみなされない場合もあります。
その際はロケーションやアプリケーションといったタグや属性情報の出現・消失で待機時間を決めるようにすると、無駄な待機時間を設定することがなくなります。
タグや属性について理解したうえで、何を基準にして待機時間を設定する必要があるかを正しく把握して利用する必要があるかを考える必要があります。
また、タグや属性情報を基準にして待機時間を設定する場合は、待機時間を値で設定する方法よりも少し技術力が必要になります。
(出典:RPAテクノロジーズ社 BizRobo! CAMPUS!!のスライド)
③ファインダーの内容は最適なセレクタを選択する
クリックする場所や文字を入れる場所に関するタグについて、自動選択に任せてDAを利用していないでしょうか。
自動選択を使うと、クリックする場所や文字を入れる場所のタグを正しく検知してくれることが多いですが、時には誤ったタグや属性情報を検知したり、そもそも検知できなかったりすることもあります。
誤ったタグや属性情報を検知すると誤作動を招いたり、動作せず停止する原因にもなりえます。
そこで、自動選択を利用した際も必ずロボットを動かして正しくファインダーが設定されているか確認し、必要に応じて手動で適切に選択する必要があるでしょう。
例えば、SalesforceのTeamspiritLeadersの画面を例にとって確認してみましょう。
ログイン後、表示されたページでリストアップされている中から一番上のプロジェクト名を選択するとします。
そのとき、選択したプロジェクトの部分のタグは以下のようになっていました。
しかし、画面を更新して再度同じ箇所のタグを選択してみるとclassやidの中身が変わっています。
このような場合、BizRobo!の自動選択機能を使ってclassやidを指定していると、ページを表示するたびに中身が変わってしまうことがあるため、正しく選択することができずエラーを起こしてしまいます。
自動選択機能を利用することが適していない場合は、手動選択を利用しましょう。
感想
DAの開発画面になると、開発画面で設定する必要のある項目が増えて難しいと思っていました。
しかし、DAをむやみやたらに使うことがおすすめされているわけではなく、どうしてもDSで表示が出来ない画面があるなどDAを利用する必要があるときだけ利用するということが必要であると学びました。
DAの使い方を理解し利用することでできることの幅はぐっと広がり便利になりますが、DAに頼りすぎず、DA以上にDSを有効活用するということをしっかり頭においておきたいと思いました。
DAの変数の渡し方などがまだあやふやであったり、待機時間の設定がうまくいっていなかったりと、DAに関してはまだまだ使い慣れていないなと思います。
DAを使ったロボットも難なく作っていけるように、これからも頑張りたいと思います。
次回、第12回のBizRobo! CAMPUS!!は1/25(水)開催で、テーマはBuilt in Excelになります。
また感想を共有いたしますので、ぜひお読みいただけますと幸いです。
2022年も、当ブログをご覧いただきありがとうございました。
来年も当ブログで学んだことを発信しながら、自らの知識を蓄えていきたいと思います。
来年も、どうぞよろしくお願いいたします。
少し早いですが、よいお年をお迎えください!
今回も、最後までお読みいただきありがとうございました!
次回のブログもお楽しみに!
<RPAの導入につきまして>
本Blogは、お役に立ちましたでしょうか?
RPAは、一般的な業務システムとは異なり、PoCを実施し、導入・運用開始で終わりでははありません。
導入時点からようやくスタートです。
業務効率化、人員最適化等の目標に応じた計画策定や人員配置、自動化ロボットの開発・運用といったPDCAサイクルが必要です。
弊社では、貴社の課題に適した自動化プランのご提案や開発者育成研修も実施し、貴社と並走したサポートをご提供いたします。
お気軽にお問い合わせください。
BizRobo!や弊社サポートについて詳しくはこちら >>> サービス紹介 - BizRobo! (自動化ツール)
■その他のBlog
- BizRobo!CAMPUS!!第4回~データベース編~に参加しました!
- BizRobo! CAMPUS!!第11回~DA編~に参加しました!
- 【Tips】DBステップでデータ登録/参照時に任意の主キーを利用する
- はじめてのConnector開発
- 【API】GoogleDriveAPIで共有フォルダを参照する
- Box連携 〜ロボット化に必要なAPIを検討、仕様確認〜
- 【DA】JavaScriptで日付を取得する
- BizRobo!環境をWindows11にアップデートしました
- BizRobo!CAMPUS!!第12回~Built-in-Excel編~に参加しました!
- 【Tips】DAのコマンド実行が終わるまで待機させる方法