※この記事はWinActor7.4.1.1を使って書いています。
はじめに
WinActorの販売店でシナリオ作成を担当しているEMIです!
独自のエラーを、私はこんなときに作っていますよ~という記事になります。
RPA(ロボティック・プロセス・オートメーション) Advent Calendar 2022
に参加しています!
でしゃばって2回目の投稿です
https://qiita.com/advent-calendar/2022/robotic_process_automation
こんなときどうする?
独自エラーをスローしたいときってどんなときでしょうか。
例えばログインの処理を見てみましょう。
ブラウザ操作で、サイトへのログイン時にパスワードの期限が切れていたりしてログインに失敗することがあります。
次画面に遷移しない場合を考慮していないシナリオでは、ログイン後の画面での操作の箇所で、WinActorからエラーが発生します。
「指定された要素が見つかりませんでした。Xpathの詳細。。。」というメッセージになります。
このメッセージだと、シナリオ作成者であればエラーの原因は分かりますが、
ユーザーは何が原因でエラーが発生しているのか、エラーメッセージを読んでも分かりません
こんなときこそ
そこで、ログインエラーで次画面にいけなかったときは独自のエラーをスローすることにしました。
WinActorで独自エラーをスローするには「エラー」ライブラリを使います。
このライブラリにはエラーメッセージを設定することができ、例外処理の正常系内に配置します。
このライブラリを実行すると、WinActorからエラーが発生したときと同じく異常系にスローされます
「スロー」はプログラムっぽい言い方ですが、『投げる』という意味です。
エラーのボールが異常系に投げられる!!という絵が私の頭の中ではいつも浮かんでいて、分かりやすい表現で私は大好きです
エラーメッセージは
「エラー002:ログインに失敗しました。パスワードの期限が切れていませんか?」にしました。
ユーザーは
「ほうほう、サイトのパスワード変えてまた実行すればいいのか!」と分かりやすいです
ログイン後に次の画面にて表示されるはずの要素の数をブラウザから数え、要素数が0の場合はこのエラーがスローされるという作りにしました。
シナリオすっきり
独自エラーにはメッセージが分かりやすい以外にも、利点があります。
まずはエラーライブラリを使わなくても、都度エラー処理を書くやり方を見てみましょう。
例えばログインエラーの場合は↓こんな感じ。
これでも良いですが、エラーライブラリを使うと、処理が必ず異常系にスローされるので、
エラー時のメッセージ表示が1箇所で済み、シナリオがすっきりし、可読性がアップします
まとめ
エラーライブラリを使って、WinActorで独自のエラーをスローする話でした!
WinActorでのエラーの実装、色々なやり方があると思います。
皆さんのエラーもどう作っているのか知りたいです!
読んでいただきありがとうございました!