| at | step | ms |
| +7.06s | a password reset works through the email -- exactly once | 6926.0 |
| +5.72s | wait for the email | 5002.5 |
| +6.12s | choose a new password | 287.9 |
| +6.47s | sign in with the new password | 358.0 |
| +6.83s | follow the same link again | 176.0 |
| +0.35s | goto freight/login/ | 150.6 |
| +0.52s | click #forgot-link | 160.0 |
| +0.57s | fill #forgot-login | 56.3 |
| +0.69s | click #forgot-btn | 115.9 |
| +0.71s | innerText #forgot-ref | 18.4 |
| +0.77s | goto freight/mailbox/?to=courier@acme-freight.example | 58.3 |
| +5.72s | toBeVisible #mail-list a.mail-subject:has-text('ref 419A77') | 4939.3 |
| +5.8s | click #mail-list a.mail-subject:has-text('ref 419A77') | 81.0 |
| +5.83s | toBeVisible #mail-body a[href*='/login/reset/'] | 26.5 |
| +5.88s | click #mail-body a[href*='/login/reset/'] | 54.8 |
| +5.94s | fill #new-password | 56.2 |
| +5.96s | fill #confirm-password | 12.0 |
| +6.08s | click #reset-btn | 120.4 |
| +6.12s | toBeVisible #login-btn | 36.6 |
| +6.15s | fill #username | 35.9 |
| +6.17s | fill #password | 12.6 |
| +6.36s | click #login-btn | 187.0 |
| +6.47s | toBeVisible #signed-in-user | 116.9 |
| +6.65s | click #sign-out | 173.4 |
| +6.69s | goto http://127.0.0.1:8000/demo/freight/mailbox/5/ | 35.9 |
| +6.79s | click #mail-body a[href*='/login/reset/'] | 104.6 |
| +6.82s | toBeVisible #reset-invalid, #reset-form | 21.8 |
| +6.83s | toHaveCount #reset-form | 7.7 |
Video and Playwright trace stay on the hub:
results/DEMO-T16/20260925-002340-r434/ — open the run page for the replay.