Every QA engineer has written a test like this at some point:
test('user receives verification email', async ({ page }) => {
await page.goto('/signup');
await page.fill('[name="email"]', 'test@example.com');
await page.click('[type="submit"]');
Every QA engineer has written a test like this at some point: test('user receives verification...
ZeroDrop generates unique email addresses per test, letting Playwright tests assert on real emails without SMTP servers. Real email tests expose configuration bugs mocks miss—broken templates, API keys, URLs—preventing silent auth failures in production.
Every QA engineer has written a test like this at some point:
test('user receives verification email', async ({ page }) => {
await page.goto('/signup');
await page.fill('[name="email"]', 'test@example.com');
await page.click('[type="submit"]');

If you've ever tried to write a Playwright test that covers a full sign-up → email verification →...

Email is one of those things that's genuinely hard to test. It goes out through an SMTP server, lands...

Here's a Playwright test that looks completely reasonable and silently lies to...

The single most flake-prone test in any E2E suite is "user signs up, verifies via emailed OTP,...

This is the payoff of everything so far. A UI test usually cares about one behavior — does this...

Welcome to Part 6. The framework is solid; now we add three powerful kinds of test that go beyond...