このエントリーをはてなブックマークに追加

【UiPath 開発者向け】美しいロボットの作り方 -vol.7-
シンプルだけどスマートに。シミュレート機能を使いこなそう!

RPA開発者の皆さん、お疲れ様です。
皆さん、美しいロボットは作れていますか?

プログラミングにおけるいわゆる美しいとは、ソースコードの書き方が統一されていて他の人が保守しやすいように整理されていることを指します。さて、RPAにおける「美しい」ロボットとは何でしょうか?
アクティビティ数が少ない、処理が速い、止まりにくい、他部署へ展開しやすい…。いろいろな観点がありますが、ここでは「見やすさ」という点に注目したいと思います。
「見やすさ」というのは保守のしやすさや、他の人が理解しやすいことを指します。
ロボットの引継ぎや自作のロボットを久しぶりに見たとき、処理が見やすいと理解や説明にかかる時間を短くすることができます。

本コラムでは弊社研修でよく質問されることを中心に、美しいロボット作成のヒントをご紹介していきます。
前回は前回は「フローがぐっと見やすく!フロースイッチを用いた複雑化させない分岐の仕方」をご紹介しました。
>>【UiPath 開発者向け】美しいロボットの作り方 -vol.6-~フローがぐっと見やすく!フロースイッチを用いた複雑化させない分岐の仕方~

プロパティ「○○をシミュレート」とは?

今回は、ロボットの精度を高めるためにも使える、「シミュレート」機能についてご紹介します。
ここでのシミュレートとは[クリック][テキストを入力]アクティビティなどのプロパティにある「○○をシミュレート」のことです。
シミュレート機能を使うと、アクティビティで行う動作の仕組みを切り替えることができます。





このプロパティがTrueとFalseでどう変化するのか、具体例を見ていきましょう。
今回は例として以下の、Googleで「横浜市 人口」と検索するというロボットを使用します。




プロパティ「○○をシミュレート」がFalseの場合



[文字を入力]アクティビティ(左)と[クリック]アクティビティ(右)のプロパティ設定



まずは、「False」に設定したときの動作を見ていきましょう。
[テキストを入力]アクティビティのプロパティ「入力をシミュレート」と、
[クリック]アクティビティのプロパティ「クリックをシミュレート」をそれぞれFalseに設定しました。
この設定でロボットを実行すると「横浜市 人口」と検索欄に入力したはずなのに、「横浜市 人口 2020」で検索された結果が表示されてしまいました。なぜ正しい結果にならなかったかというと、[クリック]アクティビティの動作が想定と違っていたからです。






[クリック]アクティビティのプロパティ「クリックをシミュレート」がFalseに設定されていると、マウスポインタが対象の位置に移動してクリック処理が行われます。そのため検索ボタンの上に検索候補や別の画面が被ってしまっていると検索ボタン以外の部分でクリック動作してしまい、想定していない検索結果が表示されていました。

プロパティ「○○をシミュレート」がTrueの場合



[文字を入力]アクティビティ(左)と[クリック]アクティビティ(右)のプロパティ設定

今度は[テキストを入力]アクティビティのプロパティ「入力をシミュレート」と、[クリック]アクティビティのプロパティ「クリックをシミュレート」をそれぞれTrueに設定しました。
この設定で再度ロボットを実行してみましょう。





今度は想定通り「横浜市 人口」で検索をすることができました。プロパティ「クリックをシミュレート」をTrueに設定すると、マウスポインタを使わずに検索ボタンに直接クリック動作が行われます。そのため、クリックしたいところに別の画面や検索候補が被っていても想定通りの動作を行うことができます。
また、[テキストを入力]アクティビティの動作も良く見ると変化しています。
プロパティ「入力をシミュレート」がFalseだったときはキーボードから文字を打ったように1文字ずつ入力されます。設定をTrueにすると、コピー&ペーストしたように文字列が一気に入力されるはずです。長い文章を入力する場合は処理時間の短縮にもつながります。


「○○をシミュレート」を使った時と使わない場合の修正の違い



シミュレート機能を使わずに修正したロボット(左)とシミュレートを使って修正したロボット(右)


今回の例である想定外の動作を回避するため、人間が作業を行うときはEnterキーを押して検索を実行したり、サイト上の何もないところを一旦クリックして候補を消してから検索ボタンを改めてクリックすると思います。ただ、この回避策をそのままロボット上に入れてしまうと、余計なアクティビティが増えて見た目も悪くなってしまいます。
シミュレート機能を使うことで、アクティビティの数を増やすことなく動作を改善することができます。

まとめ

今回ご紹介したシミュレート機能は、Trueにした方がロボットの動作の精度は高くなる場合が多いです。ただし、シミュレートをTrueにするとUiPathで操作ができなくなるサイトやツールも存在します。シミュレートを変更した場合は、動作確認テストを忘れずにおこなってください。
また、ロボットが想定外の動作をしたときはアクティビティを増やして修正していくこともできますが、できるだけシンプルな構成になっていた方が後で確認するときの見やすさが大きく変わります。
シミュレート機能のプロパティを知っているだけで、簡単にロボットの流れを変えずに修正をすることができるのは大きなメリットです。シミュレート機能以外にもプロパティには、実は便利な機能がたくさんあります。この機会に普段設定していないプロパティについて興味を持ってもらえると幸いです。



supported by RPA HACK

このエントリーをはてなブックマークに追加

あわせて読みたい