| at | step | ms |
| +6.96s | a password reset works through the email -- exactly once | 6840.0 |
| +5.65s | wait for the email | 4989.8 |
| +6.1s | choose a new password | 303.4 |
| +6.52s | sign in with the new password | 416.6 |
| +6.81s | follow the same link again | 191.7 |
| +0.33s | goto freight/login/ | 127.8 |
| +0.49s | click #forgot-link | 152.6 |
| +0.53s | fill #forgot-login | 36.7 |
| +0.61s | click #forgot-btn | 83.5 |
| +0.66s | innerText #forgot-ref | 43.6 |
| +0.72s | goto freight/mailbox/?to=courier@acme-freight.example | 58.3 |
| +5.65s | toBeVisible #mail-list a.mail-subject:has-text('ref 8B44A3') | 4925.1 |
| +5.76s | click #mail-list a.mail-subject:has-text('ref 8B44A3') | 102.1 |
| +5.79s | toBeVisible #mail-body a[href*='/login/reset/'] | 36.8 |
| +5.87s | click #mail-body a[href*='/login/reset/'] | 68.4 |
| +5.93s | fill #new-password | 58.9 |
| +5.95s | fill #confirm-password | 20.5 |
| +6.05s | click #reset-btn | 103.7 |
| +6.1s | toBeVisible #login-btn | 43.0 |
| +6.13s | fill #username | 26.1 |
| +6.15s | fill #password | 24.7 |
| +6.38s | click #login-btn | 226.8 |
| +6.52s | toBeVisible #signed-in-user | 132.7 |
| +6.62s | click #sign-out | 98.9 |
| +6.66s | goto http://127.0.0.1:8000/demo/freight/mailbox/2/ | 45.8 |
| +6.78s | click #mail-body a[href*='/login/reset/'] | 112.5 |
| +6.8s | toBeVisible #reset-invalid, #reset-form | 22.0 |
| +6.81s | toHaveCount #reset-form | 5.8 |
Video and Playwright trace stay on the hub:
results/DEMO-T16/20260925-002212-r413/ — open the run page for the replay.