4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RPA(ロボティック・プロセス・オートメーション)Advent Calendar 2022

Day 16

WinActorで独自のエラーをスローした

Last updated at Posted at 2022-12-15

※この記事はWinActor7.4.1.1を使って書いています。

はじめに

WinActorの販売店でシナリオ作成を担当しているEMIです!
独自のエラーを、私はこんなときに作っていますよ~という記事になります。

RPA(ロボティック・プロセス・オートメーション) Advent Calendar 2022
に参加しています!
でしゃばって2回目の投稿です:hugging:
https://qiita.com/advent-calendar/2022/robotic_process_automation

こんなときどうする?

独自エラーをスローしたいときってどんなときでしょうか。
例えばログインの処理を見てみましょう。
ブラウザ操作で、サイトへのログイン時にパスワードの期限が切れていたりしてログインに失敗することがあります。
image.png

次画面に遷移しない場合を考慮していないシナリオでは、ログイン後の画面での操作の箇所で、WinActorからエラーが発生します。
「指定された要素が見つかりませんでした。Xpathの詳細。。。」というメッセージになります。

このメッセージだと、シナリオ作成者であればエラーの原因は分かりますが、
ユーザーは何が原因でエラーが発生しているのか、エラーメッセージを読んでも分かりません:disappointed_relieved:

image.png

こんなときこそ

そこで、ログインエラーで次画面にいけなかったときは独自のエラーをスローすることにしました。
WinActorで独自エラーをスローするには「エラー」ライブラリを使います。
このライブラリにはエラーメッセージを設定することができ、例外処理の正常系内に配置します。

このライブラリを実行すると、WinActorからエラーが発生したときと同じく異常系にスローされます:baseball:
「スロー」はプログラムっぽい言い方ですが、『投げる』という意味です。

エラーのボール:baseball:が異常系に投げられる!!という絵が私の頭の中ではいつも浮かんでいて、分かりやすい表現で私は大好きです:relaxed:
image.png

エラーメッセージは
「エラー002:ログインに失敗しました。パスワードの期限が切れていませんか?」にしました。
ユーザーは
「ほうほう、サイトのパスワード変えてまた実行すればいいのか!」と分かりやすいです:relaxed:

ログイン後に次の画面にて表示されるはずの要素の数をブラウザから数え、要素数が0の場合はこのエラーがスローされるという作りにしました。

image.png

こんな風にメッセージが表示されます。
image.png

シナリオすっきり

独自エラーにはメッセージが分かりやすい以外にも、利点があります。
まずはエラーライブラリを使わなくても、都度エラー処理を書くやり方を見てみましょう。
例えばログインエラーの場合は↓こんな感じ。
これでも良いですが、エラーライブラリを使うと、処理が必ず異常系にスローされるので、
エラー時のメッセージ表示が1箇所で済み、シナリオがすっきりし、可読性がアップします:relaxed:

image.png
image.png

まとめ

エラーライブラリを使って、WinActorで独自のエラーをスローする話でした!
WinActorでのエラーの実装、色々なやり方があると思います。
皆さんのエラーもどう作っているのか知りたいです!

読んでいただきありがとうございました!

4
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?