Testim は、恒久的および一時的なメールアドレスを提供する組み込みメールサービスを備えています。Validate email ステップを使用すると、これらのメールアドレスにメールが送信されたことを検証できます。このステップは通常、アプリのサインアップまたはログインフローをテストするために使用されます。
Validate email ステップは、指定された Testim メールアドレスの Testim 受信箱の内容を、そのメールボックス内のすべてのメッセージの配列として受け取る事前定義された検証ステップです。メッセージは messages という名前のパラメーターに含まれ、次のフィールドを持ちます:
| Field name | Return type |
|---|---|
| attachments | AttachmentCollection |
| from | EmailAddress |
| to | EmailAddressCollection |
| subject | string |
| date (送信時刻) | Date |
| received_date | Date |
| message_id | string |
| headers | InternetMessageHeaderCollection |
| html | |
| text | string |
| mail_from | EmailAddress |
| rcpt_to | EmailAddressCollection |
| size | number |
| projectId | string |
| string | |
| expire_at | string |
| created_at | string |
| updated_at | string |
メール検証では、次の 2 種類のメールアドレスのいずれかを使用して、検証対象のメールを受信できます:
- 恒久的メール - Testim は、ログインフローやパスワードリセットフローのテストなど、さまざまな目的で使用できる恒久的なメールアドレスを提供します。テストの一環として、このメールアドレスを Validate Email ステップに追加することで、メールアドレスにメールが送信されたことを検証できます。このステップは、恒久的メールアドレスでメールが受信されたことを検証します。例えば、メールからリンクを取得してエクスポートします。
- 一時的メール - テストを実行するたびに新しいランダムなメールアドレスを生成する必要がある場合があります。例えば、サインアップフローを毎回新しいユーザーでテストする場合などです。Generate email address ステップを使用すると、実行のたびに新しいメールアドレスが生成されます。Generate email address ステップを設定して、一時的メールアドレスをパラメーターとして保存します。その後、このパラメーターを Validate Email ステップに追加することで、一時的メールアドレスにメールが送信されたことを検証できます。Validate Email ステップは、一時的メールアドレスでメールが受信されたことを検証します。例えば、メールからリンクを取得してエクスポートします。
メールを検証する準備段階として、恒久的メールを作成するか、Generate email address ステップを使用して一時的メールアドレスを次のように生成します。
オプション A - 恒久的メールアドレスの作成
このプロセスは、Validate email ステップを含む既存または新規のテストがあることを前提としています。→ 恒久的メールを作成するには:
- 左メニューで Settings アイコンをクリックします。

- Email Service タブをクリックします。

- Generate Email Address ボタンをクリックします。

- ランダムなメールアドレスが生成され、ページに表示されます。メールアドレスにマウスを合わせ、Copy をクリックしてメールアドレスをコピーするか、Inbox をクリックしてメールの受信箱を表示します。

テストの関連ステップで恒久的メールを使用する
このメールアドレスはテストの入力として使用できます。例えば、サインアッププロセスを検証するテストでは、ユーザーがメールアドレスとパスワードを入力し、その後メールを確認/検証するためにクリックする必要があるリンクを含むメールを受信します。この例では、ユーザーがメールアドレスを入力するサインアップステップで恒久的メールアドレスが使用されます。以下の例では、ユーザーがメールフィールドにメールアドレスを入力する Set text ステップの Text to assign フィールドに恒久的メールアドレスが入力されています。

オプション B - 一時的メールアドレスの生成
このプロセスは、Generate email address と Validate email ステップを含む既存または新規のテストがあることを前提としています。
Generate Email Address ステップの追加
このステップでは、一時的メールアドレスを生成し、そのアドレスを他のステップで使用するための変数として保存するステップを追加します。→ 一時的メールアドレスを生成するには:
- ステップを追加したい位置の (矢印記号) にカーソルを合わせます。

アクションのオプションが表示されます。

- “M”(Testim の事前定義ステップ)をクリックします。
Predefined steps メニューが開きます。

- Actions をクリックします。
Actions メニューが展開されます。

- メニューをスクロールして Generate email address を選択します。
Editor に "Generate email address" ステップが追加されます。
- 新しく作成されたステップにカーソルを合わせ、Show Properties アイコンをクリックします。

右側に Properties パネルが表示されます。

-
Variable name フィールドに、一時的メールアドレスを保持する変数の名前を入力します。例えば、
emailAddressという値を使用します。 -
Variable scope フィールドで、変数を渡せるスコープを指定します:
-
Local: 同じスコープ内のステップ間で emailAddress パラメーターを渡すことができます。これがデフォルトです。
-
Test: 同じテスト内のステップとグループ間で emailAddress パラメーターを渡すことができます。
-
Suite: 同じテストスイート内のテスト間で emailAddress パラメーターを渡すことができます。
-
必要に応じて、ステップとパラメーターの追加設定を行います。
-
variable name フィールドのパラメーター名をコピーします(例:
emailAddressという名前)。このパラメーターは Email Validation ステップで使用されます。
事前に適切な Testim 受信箱にメールを送信する
この時点では、恒久的または一時的な受信箱にメールはありません。新しい受信箱でメールが受信されていることをテストするために、メールサービスが新しく作成した受信箱にメールを送信するよう設定することができます。
受信箱のメールアドレスを見つける
恒久的メールアドレスオプション
恒久的メールアドレスを見つけるには:
-
Settings > Email Service に移動します。
恒久的メールアドレスが表示されます。

-
関連するメールにカーソルを合わせ、Copy をクリックします。

一時的メールアドレスオプション
一時的メールアドレスオプションの場合、Generate email address ステップを使用することで、実行のたびに新しいメールアドレスが生成されます。Generate email address ステップを設定して、一時的メールアドレスをパラメーターとして保存します。例えば、次の Generate email address ステップでは、一時的メールアドレスを保持するパラメーターは tempEmail と呼ばれています。この一時的メールアドレスを保持するパラメーターは、例えば Testim の API ステップを使用して、メールサービスにメールアドレスを送信するために使用できます。

Email Service 画面から一時的メールアドレスを表示およびコピーすることも可能です。→ 一時的メールアドレスを見つけるには:
-
Settings > Email Service に移動します。
一時的メールアドレスはタイトルに "Temporary" とマークされています。

-
関連するメールにカーソルを合わせ、Copy をクリックします。

Run API Action ステップの使用
Run API Action ステップを使用して、一時的/恒久的メールアドレス情報をメールサービスに送信し、サービスを呼び出してこのメールアドレスにメールを送信することができます。次のテスト例には Generate email address ステップが含まれており、一時的メールアドレスを生成し、このメールアドレスを emailAddress というパラメーターとして保存します。


Generate email address ステップの後に、Run API Action ステップがあります。このステップはメールサービスに POST API 呼び出しを送信し、Generate email address ステップで定義された emailAddress パラメーターを入力として使用し、コード内の toAddress パラメーターで定義されている宛先メールアドレスを設定します。

任意のメールサービスを通じたメール送信
メールサービスを通じて、恒久的/一時的メールアドレスに直接メールを送信することもできます。
Validate Email ステップの作成
このテストの一環として、Validate email ステップを追加することで、メール(例:サインアップ確認)が恒久的または一時的メールに送信されたことを確認します。Validate email ステップを設定する方法は 2 つあります:
- Coded - JavaScript コードを使用して、例えばメール受信箱に関連するメールが含まれているかを確認し、またコードでこのメールからリンクをエクスポートすることができます。
- Codeless - UI から設定を構成し、さまざまな可能な条件に基づいて関連するメールを特定し、メールからリンクまたはテキストをエクスポートできるようにステップを設定します。
Coded オプションを使用した Validation Email ステップの作成
validate email ステップを作成するには:
- ステップを追加したい位置の (矢印記号) にカーソルを合わせます。

アクションのオプションが表示されます。

- “M”(Testim の事前定義ステップ)をクリックします。
Predefined steps メニューが開きます。

- Validations をクリックします。
Validations メニューが展開されます。

- メニューをスクロールして Validate email を選択します。
Add Step ウィンドウが表示されます。

-
Name the new step フィールドに、このステップの(意味のある)名前を入力します。
-
これがこのテストまたは他のテストで再利用できるようにする共有ステップである場合は、Shared step の隣のボックスを選択したまま(デフォルト)にし、Select shared step folder リストからこのステップを保存するフォルダーを選択します。そうでない場合は、チェックボックスの選択を解除します。
共有ステップの詳細については、Groupsを参照してください。 -
Create Step をクリックします。
-
Coded タブをクリックします。

function エディターが開き、右側に Properties パネルが開きます。
- 次のいずれかを実行します:
恒久的メールオプションの場合 - 恒久的メールアドレスをコピーし、Email address フィールドに貼り付けます。このメールアドレスはシングルクォートまたはダブルクォートで囲む必要があります。

一時的メールオプションの場合 -
Generate email address ステップで定義した Variable name パラメーターの名前を Email address フィールドに入力します。

- 必要に応じて、ステップとパラメーターの追加設定を行います。
- function テキストボックスに、希望する JavaScript コードを入力します。パラメーターを定義している場合は、JavaScript コード内でそれらのパラメーターを参照できます。メールを検証するさまざまな方法については、以下の Email validation examples セクションを参照してください。コードは通常、Email address フィールドに入力された値をコード内のパラメーターとして使用します。
- 左上の戻る矢印でエディターに戻ります。

ステップが作成されます。
Coded メール検証の例
サインアップ件名の検証
Validate email ステップを使用して、アプリケーションが Testim 生成メールアドレスに送信したメールの件名(messages[0].subject)の内容を検証できます。

Example Code:
// Check if messages variable is falsy or if messages[0] is falsyif (messages && messages[0]) { // If either condition is true, throw an error return messages[0].subject === 'Thank you for signing up';}return false;本文内のリンクを検証する
Validate email ステップを使用して、メール本文(messages[0].html)内のハイパーリンクを DOMParser で検索し、見つかった各リンクのテキストとリンク コンポーネントを返すことができます。

Example Code:
if (!messages && !messages[0]) { throw new Error('Failed to find message in inbox ');}// Define a function named getLinks which takes an HTML string as inputfunction getLinks(html) { // Create a DOMParser object to parse HTML strings var parser = new DOMParser(); // Parse the HTML string into a DOM document var doc = parser.parseFromString(html, 'text/html'); // Find all anchor elements in the document var linksElements = Array.from(doc.querySelectorAll('a')); // Map over the array of anchor elements and extract their text and href attributes return linksElements.map((linkElement) => ({ // Return an object with text and link properties text: linkElement.innerText, link: linkElement.getAttribute('href'), }));}// Call the getLinks function with the HTML content of the first messagevar emailLinks = getLinks(messages[0].html);//Exports the first link in the array to the next test stepsexportsTest.emailLink = emailLinks[0];Codeless オプションを使用した Validate Email ステップの作成
validate email ステップを作成するには:
- ステップを追加したい位置の (矢印記号) にカーソルを合わせます。

アクションのオプションが表示されます。

- “M”(Testim の事前定義ステップ)をクリックします。
Predefined steps メニューが開きます。

- Validations をクリックします。
Validations メニューが展開されます。

- メニューをスクロールして Validate email を選択します。
Add Step ウィンドウが表示されます。

-
Name the new step フィールドに、このステップの(意味のある)名前を入力します。
-
これがこのテストまたは他のテストで再利用できるようにする共有ステップである場合は、Shared step の隣のボックスを選択したまま(デフォルト)にし、Select shared step folder リストからこのステップを保存するフォルダーを選択します。そうでない場合は、チェックボックスの選択を解除します。
共有ステップの詳細については、Groupsを参照してください。 -
Create Step をクリックします。

-
Email Filters の下で、有効にしたい条件タイプのチェックボックスを選択して、受信箱内のメールを特定する条件を指定します。これらの条件すべてに一致するメール(つまり AND 条件)が検証されてステップが成功します。受信箱内のメールがこれらの条件のいずれにも一致しない場合、ステップは失敗します。すべての条件はオプションですが、少なくとも 1 つの条件を有効にする必要があります:
-
Time range - 受信箱で受信したメールの時間範囲を分単位で指定します。例えば、30 と入力すると過去 30 分間に受信したメールをスキャンします。
-
Expected subject - メールの件名に含まれるべきテキストまたはテキストの一部を入力します。これは部分一致でも構いません。テキストフィールドには、例えば
{{param1}}のようにスコープ内のパラメーターを含めることができます。 -
Expected body - メールの本文に含まれるべきテキストまたはテキストの一部を入力します。これは部分一致でも構いません。テキストフィールドには、例えば
{{param1}}のようにスコープ内のパラメーターを含めることができます。 -
Email text extraction の下で、メールフィルタによって一致したメールの本文からオプションで抽出するものを指定します。これはメールからのテキストまたはリンクのいずれかです。例えば、メールに SMS コードのようなコードが含まれている場合、この機能を使用してこのコードを抽出できます。抽出されたテキストとリンクは、実行後にステップ結果に表示されます。すべてのリンクは、抽出設定に関係なく自動的に抽出されます:
-
チェックボックスを選択して有効にします。
-
次のいずれかを選択します:
-
Location - 抽出されるテキストの位置に基づいて抽出条件を設定する場合は、このオプションを選択します。
-
Regex - メールから抽出するテキストを定義する条件として正規表現を入力する場合は、このオプションを選択します。
-
Location オプションを選択した場合は、次のいずれかを選択します:
-
Extraction between - 最初のフィールドのテキストと 2 番目のフィールドのテキストの間にあるテキスト/リンクを抽出する場合に選択します。最初と 2 番目のフィールドに文字列を入力して、開始位置(その後からテキストが抽出される)と終了位置(その前までテキストが抽出される)を定義します。
-
Extraction from - フィールドのテキストからメールの終わりまでのテキスト/リンクを抽出する場合に選択します。フィールドに文字列を入力して開始位置(その後からテキストが抽出される)を定義します。
-
Extraction until - メールの開始からフィールドのテキストまでのテキスト/リンクを抽出する場合に選択します。最初のフィールドに文字列を入力して終了位置(その前までテキストが抽出される)を定義します。
テキストフィールドには、例えば {{param1}} のようにスコープ内のパラメーターを含めることができます。
-
Regex オプションを選択した場合は、フィールドにテキスト抽出用の regex 条件を入力します。regex 条件の使用例を確認するには、こちらをクリックしてください。
-
メールフィルタと抽出を検証する場合:
-
Verification email inbox address セクションの下で、フィールドをクリックし、恒久的メールアドレスのいずれかを選択します。
-
Verify Email Filters をクリックします。
テスト実行を見るとき、ステップをドリルダウンした後、次のペインが右側に表示されます。このペインには、指定された受信箱でキャプチャされたメールに関する情報(送信者、抽出されたテキスト、キャプチャされたリンクなど)が表示されます。

- 次のいずれかを実行します:
恒久的メールオプションの場合 - 恒久的メールアドレスをコピーし、Email address フィールドに貼り付けます。このメールアドレスはシングルクォートまたはダブルクォートで囲む必要があります。

一時的メールオプションの場合 -
Generate email address ステップで定義した Variable name パラメーターの名前を Email address フィールドに入力します。

-
必要に応じて、ステップとパラメーターの追加設定を行います。
-
ペインを閉じ、戻るをクリックしてテストを表示し、Save をクリックして変更を保存します。
-
必要に応じて、ステップとパラメーターの追加設定を行います。
ステップが作成されます。
エクスポートパラメーター
ステップが作成されると、メール検証ステップの後に配置された他のステップで使用できる 3 つのエクスポートパラメーターが提供されます:
emailData- フィルタされたメール内のすべてのパラメーターを含みますemailExtractedText- オプションで抽出されたテキストを含みますemailExtractedLinks- オプションで抽出されたリンクの配列を含みます。
emailExtractedLinksは配列です。配列内のエントリにアクセスするには、emailExtractedLinks[n]を使用します。0は最初のエントリを表します。