Onboarding is awkward to test because it's designed to happen once. A partially onboarded account starts at a different step, and a second run can collide with the workspace the first run created. Most of the work is in the account state, not the clicking.
Split it into separate tests
Treat account creation, profile setup and the first useful action as separate tests. Give each its own starting state instead of relying on the test before it. When one fails, you'll know which part broke, and the others still tell you something.
Write the outcome a customer would recognize
"Finish onboarding" is ambiguous. "Create a workspace called Trial Team and verify Trial Team is visible in the workspace switcher" gives the reviewer an outcome they can inspect. A completed form doesn't show that the user reached the right state, so check the destination page or the saved value.
version: zerocheck/v1
name: New user creates a workspace
steps:
- Navigate to /signup
- Enter "{{unique_email}}" into "Email"
- Enter "${TEST_PASSWORD}" into "Password"
- Click "Create account"
- Enter "Trial Team {{run_id}}" into "Workspace name"
- Click "Continue"
- Verify text "Trial Team {{run_id}}" is visible
The placeholders give each run a fresh email and workspace name, so repeated runs don't collide.
Make test data someone's job
A fresh browser session doesn't remove records created in your application. Your team owns fixture creation and cleanup, so use non-production data and a separate setup process when a test needs a specific account state. Zerocheck doesn't reset your database.
Keep email and SMS elsewhere
If onboarding sends a verification email, test that in another harness and start the browser test from an account that's already verified. Email and SMS steps aren't supported in Zerocheck.
Running this in Zerocheck
Describe the flow and its expected outcome in the web app, including any setup and test data it needs. Zerocheck drafts the steps and runs them right away, so you can read the result and edit before you save. If you already have an onboarding checklist, paste it in and you'll get one test per item.