Module 11 · Human Verification

One-Time Passwords & Multi-Factor Authentication

This lab covers four practical MFA patterns: TOTP authentication, a controlled Email OTP environment built for deterministic automation practice, real Email OTP delivery so you can experience how OTP email actually arrives, and a realistic SMS simulation (production SMS normally costs money — this free lab doesn't pretend otherwise). Practice the automated flows deterministically while experiencing how real-world OTP delivery works. Along the way you'll also exercise the negative paths every serious suite needs: expiry, wrong codes, resend invalidation, and lockout.

1 · TOTP Authenticator (Google / Microsoft Authenticator)

POST /totp/setup POST /totp/verify

A time-based code derived from a shared secret and the current time — the same concept Google Authenticator or Microsoft Authenticator use. In Playwright you generate it on the fly with otplib — no device needed. Set up a secret, then verify a 6-digit token against it.

SETUP SECRET CURRENT TIME AUTHENTICATOR 6-DIGIT OTP VERIFY AUTHENTICATED
1

Provision a shared secret

2

Generate & verify a token

The compute button is a convenience so you can try it by hand — in a real test your script calls authenticator.generate(secret).

Current Execution

TOTP

No request executed yet — set up a secret to begin.

Status

Not run yet

Response body

Not run yet

2 · Email OTP

Controlled Test Environment
POST /request GET /inbox POST /verify

In production, the application generates the OTP and hands it to an email delivery provider. You then retrieve the code from the actual inbox and enter it — the same pattern professional test suites use with a controlled test mailbox instead of a real inbox.

Recommended for automation practice — the controlled inbox provides deterministic OTP retrieval.

REQUEST OTP GENERATED EMAIL PROVIDER INBOX ENTER CODE VERIFY SESSION TOKEN
1

Request a verification code

Checking delivery availability…
2

Retrieve the code

Open your simulated inbox and copy the 6-digit code — real email retrieval works the same way, just against your actual mailbox.

Inbox is empty — request a code, then fetch.

3

Enter & verify

Current Execution

EMAIL

No request executed yet — send a code to begin.

Status

Not run yet

Response body

Not run yet

3 · Real Email OTP — Live Experience

Manual · Real SMTP
POST /request POST /verify

Send a real OTP through this platform's SMTP delivery, then retrieve it by hand from your actual inbox — the closest this lab gets to a live, real-world experience, without automating a personal mailbox.

REQUEST OTP GENERATED SMTP PROVIDER YOUR REAL INBOX YOU READ OTP VERIFY

✉ Learning Note — Real Email vs Automation

REAL EMAIL

Application → OTP → SMTP → Your Inbox → You Read OTP

AUTOMATION

Test → OTP → Controlled Inbox → Playwright → Verify

Use Real Email to experience actual delivery. Use the controlled Email OTP section above for automation practice. See Learn More below ↓

1

Send a real verification email

Checking delivery availability…
2

Open your real mailbox

Check the inbox (and Spam folder) for the address above, then copy the 6-digit code. There's no "Fetch inbox" button here on purpose — reading your actual mailbox is the point of this section.

3

Enter & verify

Current Execution

REAL EMAIL

No request executed yet — send a real email to begin.

Status

Not run yet

Response body

Not run yet

4 · SMS OTP — Realistic Simulation

Realistic Simulation
POST /request GET /inbox POST /verify

Real SMS delivery normally requires an SMS provider (e.g. Twilio) and can incur per-message charges. This free lab uses a realistic SMS simulation so you can learn and automate the complete OTP lifecycle without paying for SMS.

Deterministic and free — the simulated gateway provides the same reliable OTP source for automation practice as Email OTP above.

REQUEST OTP GENERATED SMS GATEWAY (SIMULATED) PHONE ENTER CODE VERIFY SESSION TOKEN
1

Send a verification SMS

SIMULATED SMS GATEWAY — Real SMS normally requires a paid provider; this free lab simulates delivery end-to-end so you can learn and automate the complete lifecycle at no cost.
2

Open the simulated message

Open the simulated SMS below and copy the 6-digit code — a real integration would poll your SMS provider's test-number API the same way.

Inbox is empty — request a code, then fetch.

3

Enter & verify

Current Execution

SMS

No request executed yet — send a code to begin.

Status

Not run yet

Response body

Not run yet
↑ Back to top