Wait for email

Wait for email

Wait for an email as part of your automated test

Many user journeys depend on email communication triggered by a previous action. Whether you are testing account verification, forgotten password flows, or notification systems, it is important not just to check that an email was sent, but to ensure your test waits for that email to arrive before continuing.

The Wait for Email step lets your test pause until a message appears in the inbox that matches your criteria. This ensures your automation remains reliable and deterministic, mirroring the real-world experience of a user who must wait for a message to arrive.

Synchronise your test with real email delivery

Email delivery can be asynchronous. Unlike clicking a button or navigating to a page, the time it takes for an email to reach the inbox can vary. If your test immediately attempts to select or open an email without waiting, it can fail intermittently even when the system works correctly.

Wait for Email ensures that:

  • Your test only proceeds once a message appears

  • You avoid fragile timing hacks

  • You reduce false failures caused by premature checks

  • Your automation adapts to real delivery patterns

This makes your email-driven tests more robust and reliable.

How waiting improves automation quality

Different systems deliver emails on different timelines. Some may be instant, others take a few seconds, and in rare cases messages are delayed. A rigid timeout can cause flakiness. Waiting for the actual email ensures your test reacts to content, not fixed delays.

You can configure this step to:

  • Wait until any email arrives

  • Wait until a specific subject appears

  • Wait until text in the email body matches expectations

This allows fine control over when your test moves forward.

Typical flow patterns

In real user scenarios, the Wait for Email step often follows an action that triggers email sending. For example:

  • A user clicks “Sign up”

  • The system sends a verification email

  • The test waits for a message with “Verify your account” in the subject

  • The test then selects and opens that email

This matches the actual experience of a user and ensures your test only continues once the necessary email is present.

Configurable and context-aware

Because DoesQA supports dynamic values and stored data, you can use this step to:

  • Wait for an email containing specific dynamic content

  • Include values generated earlier in the test

  • Target emails based on patterns or contents relevant to the current run

This makes your waiting logic flexible and adaptive, not rigid.

Improves reliability without slowing tests unnecessarily

Rather than guessing how long to wait, this step watches the inbox until the email you care about arrives. Once the message appears, your test moves on. This prevents:

  • Unnecessary long delays

  • Flaky timeouts

  • Race conditions

Your automation becomes both faster and more stable.

Works with DoessQA inbox types

DoesQA provides two kinds of inboxes:

  • Test-level inbox – unique for each run

  • Account-level inbox – persistent and shared across runs

The Wait for Email step works with either, allowing you to choose the right scope depending on your testing needs.

By waiting for email delivery before proceeding, your email-based flows become synchronized with real system behaviour, creating reliable and realistic automated coverage for email-triggered journeys.