- 印刷
- ダークライト
メールテスト機能は、従来であれば複数のツールを跨いで実施する必要があった
- テスト用メールアカウント(メールアドレス・メールボックス)の作成
- ウェブアプリケーションの操作に伴って送信されるメールの受信確認
- 受信したメールの内容の検証
- メール内のリンクを辿って画面遷移できることの確認
をAutifyだけで完結できる、とても便利な機能です。
一方で、使いこなす上ではいくつかのコツがあります。当記事ではそんなメールテスト機能のご活用Tipsをご紹介します。
メールテスト実践編
メールテスト機能を使ったシナリオの基本的なレコーディング方法は、まず以下のドキュメントで押さえましょう。
上記の基本を踏まえ、実際にどんなシナリオが作れるかを見ていきます。
サイトに表示された内容がメール本文に含まれることの検証
メールテストでよくあるユースケースとして、以下のような例があります。
- 申込項目をWeb画面上で入力する
- 完了画面が表示されると同時に、メールが送信される
- 完了画面で表示された文字列と同じ文字列がメールに含まれているかを検証する
これは、注文や予約処理の検証を行うシナリオでよく見られます。どのようにシナリオを作成すれば良いでしょうか?
大きくは以下のような流れになります。
- レコーディングを行い、文字列の表示される画面まで操作を進めます。
- JSステップを追加し、画面から文字列を取得してreturnします。
- テキスト内容を返すスニペットをご利用いただけます。
- メールが送信される段階までサイトの操作を進め、Autify Recorderから検証対象のメールを開きます。
- メール内のテキストに対するアサーションをレコーディングし、シナリオを保存します。
- シナリオ詳細画面から 4. のステップ詳細を開き、テキストを「他のステップから取得」とし、2. で作成したJSステップを指定します。
上記のようにすれば、サイトに表示された文字列がメール内に含まれるかを検証することができます!
メール内に含まれるテキストをサイトへの入力に使用する
逆に、メール内に含まれるテキストをサイトに入力する場合はどうでしょうか? 代表的な例として、メールに含まれる二段階認証のコードをフォームに入力する方法について、以下に解説しています。ぜひご覧ください。
メールを開いたあと、元の画面や特定のページに遷移する
メールテスト機能では、レコーディング中のブラウザウィンドウ内でメールが開かれます。このため、メールの内容を検証した後でサイトの操作に戻りたい場合は、以下のいずれかのレコーディング操作が必要です。
- メールを開いた後に元の画面に戻りたい場合
- ブラウザの「戻る」ボタンを押したくなるところですが、 ブラウザの「戻る」「進む」ボタンの操作はレコーディングされません。以下の方法1・方法2のいずれかを取りましょう。
方法1: JSステップで前の画面に戻る
- シナリオ詳細画面から、メールを開いた画面から前に戻りたい箇所にJSステップを挿入し、以下のスクリプトを挿入します。
autify.back();
方法2: 別ウィンドウでメールを開く
- メールを開く前に「URLに移動」ステップを「新しいウィンドウで開く」にチェックを入れて追加します(開くURLは任意のもので構いません)
- 新しく開かれたウィンドウでメールを開き、必要なアサーションなどをレコーディングします。
- メールを開いたウィンドウを閉じます。すると、メールを開く前にいた画面に戻ります。
- ブラウザの「戻る」ボタンを押したくなるところですが、 ブラウザの「戻る」「進む」ボタンの操作はレコーディングされません。以下の方法1・方法2のいずれかを取りましょう。
- メールを開いたあとに特定のページ遷移したい場合
- 以下のレコーディングを行います。
- メールを開いた後のステップで「URLに移動」ステップを追加し、遷移したいページのURLを指定します。
- 指定されたURLの画面が開きます。
- 以下のレコーディングを行います。
なお、メール内にリンクが含まれる場合には、クリックすると同じウィンドウ内でリンク先の画面へ遷移します。メールからの動線に沿って、そのままレコーディングを続けていただくことが可能です。
安定したシナリオ作成のポイント
シナリオの作成の流れを押さえたら、今度はテスト結果が安定するテストを作成するために留意する必要のある点を見ていきましょう。
固定またはランダムのメールアドレスのうち、最適なものを選ぶ
メールテスト機能を効果的に利用いただくための第一歩は、作成したいシナリオに合わせて
- 固定メールアドレス
- ランダムメールアドレス
を選択することです。
どのような場合にどちらのメールアドレスを選択すれば良いかは、以下の記事をご参照ください!
シナリオ内の操作で送信されたメールは、毎回必ず開く
シナリオ内の操作で複数のメールが送信される場合には、受信トレイに複数の未読メールが溜まる状態を避けましょう。 シナリオ内で送信されるメールは受信のたびに開き、毎回常に受信トレイには1つだけ未読メールがある状態にすることで、意図するメールを安定して開きやすくなります。
同時に実行されうるシナリオの固定メールアドレスは、別々にする
テストに使用するメールアドレスで固定メールアドレスを選択する場合には、近い時間帯で複数のメールが同じ受信トレイに届かないようご注意ください。同時に実行されうる複数のシナリオでメールテスト機能をご利用の場合は、シナリオ毎に別々の固定メールアドレスを用いるか、ランダムメールアドレスのご利用を推奨します。
うまくいかないときは
実際にメールテストを含むシナリオを運用していると、ときに予期せぬ失敗が発生することがあります。以下に代表的なものを挙げました。
テスト実行時にメールが見つからない
テスト実行時にメールが見つからず、「対象のメールが見つかりませんでした。」が発生した時の原因と対応方法についてはこちらをご参照ください。
テスト実行時に意図したメールではないメールを開いてしまう
代表的な原因として、以下が考えられます。
- 同じシナリオ内で複数のメールを受信しており、その中から意図しないメールが選ばれてしまった
- 並行して実行されていた別のシナリオによって意図するメールが既に開かれてしまい、残っていた類似のメールが開かれてしまった(固定メールアドレスの場合)
いずれも、上述「シナリオ作成のポイント」を押さえていただくことで改善するケースがよくあります。是非、お試しください。
追加レコーディング時に受信トレイ内にあるメールが開けない
Autifyのメールテスト機能では、受信トレイ内にあるメールを開けるのは一度だけ(未開封のメールのみがテストで開く対象の候補になる) です。このため、メールを開くステップの後に追加レコーディングを行う場合には、メールが送信されるステップを含めてローカルリプレイを実施してください。
上記以外にも、メールテストをご利用される中でお困りの点や、こんな使い方をすると便利といったご意見がございましたら、お気軽にお寄せいただければ幸いです!