How to test user onboarding flows in CI

Onboarding failures are easy to miss in unit tests. A hidden mobile CTA or broken variant can stop new users before they reach the product.

Why this is hard to test

  • Onboarding flows span multiple pages, forms, and often email verification steps
  • A/B test variants mean CI doesn’t test the path live for 50% of users
  • Mobile viewport issues (hidden CTAs, CSS overflow) only surface on real devices or responsive viewports
  • Third-party integrations (OAuth, payment, analytics) add fragile external dependencies

Approach 1: Playwright with viewport testing

  1. 1.Write a Playwright test that walks through all onboarding steps sequentially
  2. 2.Test at multiple viewport sizes: 375px (mobile), 768px (tablet), 1440px (desktop)
  3. 3.Assert CTA visibility and enabled state at each step, including mobile viewports
  4. 4.If A/B testing: activate each variant via feature flag API and test both paths
  5. 5.Add timeouts for third-party redirects (OAuth, payment) that may load slowly

Approach 2: Zerocheck

  1. 1.Write: “New user can sign up, verify email, and complete onboarding to dashboard”
  2. 2.Zerocheck tests the full flow visually across viewports
  3. 3.Catches hidden CTAs and CSS overflow issues that break mobile conversions
  4. 4.Runs on every PR that touches onboarding code

Common pitfalls

  • Test more than the happy path: include abandonment at each step and re-entry
  • Always test mobile viewport - CSS overflow can hide CTAs while desktop still passes
  • If you A/B test onboarding, test both variants so CI does not depend on random assignment
  • Test the post-onboarding state too - verify the user lands on the right dashboard with correct permissions

FAQ

How do I test A/B test variants in CI?

Activate each variant explicitly via your feature flag API (LaunchDarkly, Statsig, etc.) before running the test. Don’t rely on random assignment in CI.

What’s the most common onboarding regression?

A CTA button hidden by CSS overflow on mobile. It passes desktop tests but 50% of mobile users can’t proceed past step 3.

How to test user onboarding flows in CI

Start with a URL, review the suggested tests, and run the approved suite in a hosted browser.

Get a demo