LoginSignup
1
0

RPAロボット開発で個人的に気を付けていること(BizRobo!)

Last updated at Posted at 2024-06-07

こんにちは!

生き物好きのエンジニア【JPW】です!!

今回は、普段私がBizRobo!で開発をする際に、気を付けていることを3つ挙げようと思います!
最後まで読んでいただければ幸いです!

1. なるべく人間の動きをベースにロジックを考える

ロボットは指示をした動作をします。(当たり前ですが...)
逆に言えば指示した動作しかしてくれません。

例えば

「Chromeのアイコンをクリックする」

            ↓

「検索ボックスに(東京都の明日の天気)と入力する」

            ↓

「天気の結果をスクリーンショットする」

という処理をBizRobo!ができる最低限の処理方法で考えてみます。

①まずはchromeのアイコンをクリック。
②その次にテキストボックスにテキストを入力。
③検索ボタンクリック
④検索結果をスクリーンショット

このような流れになります。
しかし、この動作を人間がするとなれば確認をしながら進めませんか?
人間のする動作に置き換えると

①chromeのアイコンをクリック
②chromeの検索画面が立ち上がったことを確認してから文字を入力
③文字が正しく入力できたかを確認し、問題なければ検索ボタンをクリック
④検索結果をスクリーンショット

となります。
人間は想定通りの動きをしているかを確認をしながら、処理を進めます。
ロボットも確認をしてから次の処理が進むように要素を確認する動作を入れると、安定性が格段に上がります。

ではロボットでも動作を確認してから進むようにしてみましょう!
DAステップで考えてみます。
①Chromeのアイコンをクリック
②chromeが起動したことを「Application Found」で確認
③入力したい検索ボックス(検索したい文字を入力する場所)をクリック
④「Location Found」で対象の検索ボックスの"isKeyboardFocus"属性が"true"になっていることを確認
⑤検索ボックスに文字を入力
⑥「Location Found」で対象の検索ボックスに入力された文字が正しいか"TEXT"属性を確認する。(文字が入力されたら入力された文字がTEXT属性としてツリーに表示される)
⑦検索ボックスをクリック

といった感じになります。
手順は少し増えますが、この動作が人間の動きに近いのでロボットもこの動作に合わせてあげた方が安定性が高まります。

2.ブランチの使い方や特性を理解する

BizRoboを扱い始めてすぐのころは、ブランチをあまり理解せずに開発をしていました。
そのせいでプライベート変数に取得した値が消えてしまい、「何故消えるの!?」となっていました。
その時に、ブランチの特性を知りました。
ブランチは可読性の為にこまめに分けたりもしますが、注意が必要です。
例えば、エラー発生時の設定を後続スキップに設定していると、その手前で下に派生しているブランチは実行されてしまいます。
もし、エラー発生時に移ったブランチに実行したくない処理があったとするとその処理まで実行されてしまうということになります。
ブランチをうまく駆使し、エラー発生時の動きを理解することが大切と感じました。

3.例外エラーが発生した際の処理

予期せぬエラーが発生した際のエラーハンドリングの一例を紹介します。
参考にしてみてください!
BizRoboのワークフローの最初にトライステップを設置します。
そのトライステップに例外処理という名前を付けます
例外エラーが発生しそうな処理(DAステップや正規表現を扱う処理など)のエラー処理をThen「次の代替手段を試行」次のステップ「例外処理」に変更し、「API例外」と「エラーとしてログ記録」のチェックボックスにチェックを入れる
最初に作成した例外処理のブランチはログ出力ステップで「例外処理が発生しました」とログを出力するように設定する。
このように設定することで、その後の処理に進むことを防ぐことができます。

以上です!!

以上の3つが開発時に気を付けていることになります!
少しでも参考になれば幸いです!!
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0