勝手に操作するおじさんからワークフローを守れ!

この記事はUiPathブログ発信チャレンジ2023サマーの31日目の記事です。

毎年言ってますけど、暑いですね。南半球に行きたいShigeです。

さて、何気にNoteでUiPathの記事を書くのは初めてだったりします。何を書きましょうかね?と悩んだところで思い出したのがタイトルです。

順調に動き続けていたワークフローが突然エラーを起こすように

それはとあるお客様に納品したワークフローがエラーを起こしたという一報から始まりました。開始当初はなんどか問題を起こしたものの、ここ数ヶ月は順調に動いていたフローです。

で、とりあえずログを見たところボタンのクリックに失敗している様子。UI Explorerで見てみるもボタンのセレクターに変わったところはありません。再実行してみるときちんと動きます。いったい何故?これには悩みました。
いちおう再実行で事なきを得えましたが、これが3日間続いたのです!
当然、お客様からも原因究明を求められます。

【推測】

  • 毎日のトリガー実行時の早朝のときだけ画面もしくはセレクターが違う

→いやそれはないだろ・・・。一応はボタンクリック直前にスクリーンショットをとってみたら、違うボタンを押した違う画面に飛んでる!なんで?

  • 誰かが操作している

→わざわざ早朝に出てきて、ロボ専用マシンを操作するか?いや、しかし否定できない・・・
私は情シスに問い合わせしました「カクカクシカジカ。このマシンにXX時ごろ誰かログインしてませんか?」すると

してますね。

やっぱりー!!どこのどいつじゃ~!?と犯人探しはお客様に任せ、対策を考えました。よーするに操作できなくしちゃえばいいじゃん、と。

ユーザー入力をブロックアクティビティ

ここで、ようやくアクティビティの紹介。これはその名の通りユーザー入力(マウス・キーボード)を受け付けなくするアクティビティです。受け付けるようにするためのキーセットも指定できます。
では見ていきましょう!

見た目

Block User Input のアクティビティ(※ユーザー入力をブロックで検索しても出てきません!)

使い方

使い方は極めて簡単。このアクティビティの中に操作されたくないアクティビティを配置するだけです。上部は解除キーの指定です。デフォルトがAlt+F10になってます。この組み合わせはめったにないと思うのでこのままで良いでしょう。もちろん違う組み合わせも可能です。

使用のリスク

当然ながら入力ダイアログのような人の入力を必要とするようなワークフローの場合、解除キーを知っておかないと入力できないというリスクがありますが、そのような場合はユーザー入力をブロックアクティビティの外に置けば良いだけです。

感想

結局、ロボットマシンを勝手に操作した犯人は、プロジェクトと全く関係のないお客様部署内の知らないオジサンだったので小一時間詰めておいたわけですが、それはこのアクティビティとは全く関係ないことですね。

そんな勝手に操作するオジサンからワークフローを守ってくれる頼もしい
守備系アクティビティ。覚えておいて損はないかもしれません。
あ、あとこのアクティビティは開発の最後の方に入れる事を推奨します。
デバッグがめんどくさい事になりますので。

以上、お付き合いいただきありがとうございました!
最後にやまさきあさんの記事(https://note.com/yamasakiaaaa/n/nd30fc9e2263c)とだたかぶりしたことをお詫びします。ごめ~んね!

この記事が気に入ったらサポートをしてみませんか?