0. 前書き
RPAが動かなくなった時に何を確認すべきか、どのような修正をするのか、というのを忘備録として作成。
動作が外部に依存するので色々な壊れ方をするが、パターンを抑えるのが大事な気がする。
これから開発する方の参考になれば幸い。
1. カーソル操作に失敗する
画面のボタンが見つからなかった...だけで済まなかったりする。
画像認識で操作させる場合、RPAの認識する画像と現在の画面をよくよく観察して、微妙な違いを見つけるのが大事。
1-1. Webサイト、ソフトのデザイン変更
何もしてないけど壊れたらまずこれ。特に画像認識で操作させると頻繁に起こる。
RPAが操作対象を画像で探す場合
認識用に設定した画像から変わっていないか、また操作対象のボタンの位置が変わっていないか確認する。
必要があれば画像を差し替える。
RPAが操作対象をHTMLタグで探す場合
開発者ツールからタグ構造を確認して、操作対象のタグを修正する。
1-2. ウィンドウサイズの変更
画像認識の時に起こりやすい。人間には些細なことだが、RPAツールから見れば画面のデザイン変更とほぼ同義。
画面のデザインが切り替わり操作対象がずれることが懸念される。
ウィンドウサイズを手動で調整する、起動するソフトは必ず最大化させるなど対策を講じる。
※ 解像度の変更
以前より画面がくっきりしている、ディスプレイが変わって綺麗になった、という場合に警戒する。
高くなった解像度に合わせてウィンドウサイズを変えてしまうためバグの遠因になる。
同じ寸法のディスプレイでも、解像度が倍なら画像サイズは倍以上。傍目には違和感を感じにくいので忘れないように。
解像度が落ちた事例は見たことがないのでアドバイスすることはできない。
2. テキストの入力に失敗する
自動入力が原因になりやすい印象。特に日付のカレンダー。Webサイト、ソフト毎に挙動が異なるので個別の対応が必要と思われる。
2-1. ブラウザの自動入力ON/OFF
特にWebサイトのフォーム入力を失敗させることが多い。主に以下のバグが発生する。
- フォーム選択時に以前のテキストが自動で入力され、その上にRPAがテキストを入れて不正な値になった。
- ブラウザのキャッシュを消したため、自動入力するテキストが消えて操作に失敗した。
ブラウザの自動入力を切ってテキスト入力させる、または手動でブラウザにテキストを記録させる修正が想定される。
自動入力はWebサイトの実装にも依存するので、あまり拘らず利用するWebサイトに従う方がいいと考えられる。
(自身もまだ方針を定められていないので、考え方の例などあればご意見下さい。)
2-2. ウィンドウ名の変更
RPAツールが操作ウィンドウを認識できない場合に考えられる。
ウィンドウ名にワイルドカードを使い、名前の判定をゆるくする。ただし別のウィンドウが引っ掛からないよう注意。
ウィンドウのクラス名が変わる場合もあるが、めったに変えるようなものでないので忘れていい。
3. RPAが1回だけ動かない、時々動かない場合
動作が外部に依存するので避けられない難所。PCスペックや回線も問題になる。
正直まだこれといった改案を出せない。
3-1. 排他制御
ソフト、Webサイトを同時に操作できるユーザー数の制限にかかってしまう場合がある。
そもそもRPA実行中に触る顧客が悪い...とは言えないのでできる事をしよう。
- 排他制御するソフトがないか運用前に顧客へ確認する。
- 不明ならこちらで検証する。顧客に検証の意図とその操作、検証による影響を説明して許可を頂く。
- RPA動作中に指定ソフトを操作しないことを、運用前に顧客へ告知する。
Webページの場合
2重ログイン防止のためログアウトした可能性がある。
通常のセッション切れで弾かれていた場合もあるので、原因を切り分けておくこと。
オンプレミスのソフトを使う場合
データを同時に編集できるユーザー数が制限されている可能性がある。
これによりデータの編集に失敗していた、排他制御の警告ウィンドウがRPAの操作を邪魔していたといったバグが起こり得る。
3-2. 操作するデータが特例だった
通常と違う操作が必要なデータが紛れていた可能性がある。他は問題無いのにこの1件だけRPAが落ちるという状況で該当しやすい。
他のデータとの違いを理解してから顧客に問い合わせると最良だが、データから見えない事情があるため聞いてみることが大事。
この日付だけは特別な処理だった、ソフトに設定は無いがここだけは別の計算が必要など様々。
データが特例だった場合はすぐに修正しない。
まずはそのデータをRPAで触っていいのか確認。次に同じ特例がどの程度発生するのか、その特例を処理するためにどれだけの操作が必要か聞き取り、修正に見合うだけのメリットがあるか検討する。
RPAは複雑な条件をこなすツールではない。ささいな機能追加でも可読性が相当落ちるということを留意する。
個人的に、VBAとかpythonで専用に組んだ方が...と考えるほどの操作なら危険。
3-3. WindowsUpdate
ブラウザが何かと重い、ソフトの通信が遅い、といった場合に可能性がある。これはアプデの終了を待つしかないかも。