> For the complete documentation index, see [llms.txt](https://docs.does.qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.does.qa/guides/test-passwordless-login.md).

# Test passwordless login

Passwordless login sends the user a link or code by email. The pattern matches registration verification and forgotten-password flows: enter a DoesQA address, wait for the message, open it, and continue from the link.

```mermaid
flowchart TD
  open["Open login page"] --> email["Set value with $testEmail"]
  email --> request["Touch send link"]
  request --> wait["Wait for email"]
  wait --> openMail["Open email"]
  openMail --> link["Touch magic link"]
  link --> check["Check signed in"]
```

Use the **Flow Builder** for this walkthrough.

## What you need

* A login page that offers passwordless or magic-link sign-in
* A URL your Test Runners can reach from the internet

Prefer [`$testEmail`](/values/built-in-values.md) so the link lands in this Test Case inbox. See [Email testing in DoesQA](/guides/email-testing-in-doesqa.md) for inbox choices.

## Build the Flow

{% stepper %}
{% step %}

## Open the login page

Start with [**Open**](/test-steps/starter/open.md) on your passwordless login URL.
{% endstep %}

{% step %}

## Enter the DoesQA address

Add [**Set value**](/test-steps/action/set-value.md) on the email field. Use [`$testEmail`](/values/built-in-values.md).
{% endstep %}

{% step %}

## Request the link

Add [**Touch**](/test-steps/action/touch.md) on the control that sends the magic link or passwordless email.
{% endstep %}

{% step %}

## Wait for the email

Add [**Wait for email**](/test-steps/mail/wait-for-email.md). Set **Inbox** to **Test Case**. Filter on **Subject** or **From** when the inbox may hold more than one message.
{% endstep %}

{% step %}

## Open the email and follow the link

Add [**Open email**](/test-steps/mail/open-email.md), then [**Touch**](/test-steps/action/touch.md) on the sign-in link in the message. Add [**Close inbox**](/test-steps/mail/close-inbox.md) when you return to the application.

Add a [**Check**](/test-steps/check.md) step on the signed-in screen your product shows after a successful link.
{% endstep %}
{% endstepper %}

## Related

* [Email testing in DoesQA](/guides/email-testing-in-doesqa.md)
* [Interacting with emails](/guides/interacting-with-emails.md)
* [Test registration and email verification](/guides/test-registration-and-email-verification.md)
* [Test a forgotten-password flow](/guides/test-a-forgotten-password-flow.md)
