Projects · Web automation

Unified web automation platform

Consolidating multiple Selenium / Playwright suites into a single, maintainable platform that teams actually trust for releases.

Multi-product web Selenium / Playwright Regression & smoke

Context & challenges

Multiple teams, multiple frameworks, and regressions nobody wanted to run.

  • Separate Selenium and Playwright suites existed per product, each with different conventions and levels of maintenance.
  • Test runs were long and flaky, so teams only ran them for “big” releases — and incidents still slipped through.
  • No central view of coverage or pass/fail history across journeys, so leaders couldn’t use results confidently.

Approach & architecture

Treat automation as a product, not a by-product.

  • Defined golden journeys for web — sign-up, login, search, cart, checkout, key forms — as the backbone.
  • Standardised a single automation stack with shared page objects, helpers and patterns across squads.
  • Introduced tiers of suites (smoke, sanity, full regression) mapped to CI stages and environments.
  • Added tags (e.g. @payments, @critical) to enable targeted runs when only certain modules changed.

Tooling, CI and reporting

Making it visible, fast and reliable enough for engineers to care.

  • Integrated smoke suites into pull-request checks, with regression runs on main branches and pre-prod.
  • Added retry logic & smart waits to sensitive flows without hiding genuine issues.
  • Pushed results into dashboards (trend of pass rate, duration, flaky tests) that were reviewed in stand-ups.
  • Introduced a simple “test ownership” model — each critical journey had a clear squad owning its stability.

Impact & what I’d repeat

Pragmatic automation that teams actually use and improve.

  • Regression became a standard part of the release pipeline, rather than a manual, “best effort” checklist.
  • Teams gained confidence to ship more frequently because critical web journeys were always covered.
  • New products plugged into the platform instead of starting from scratch, shortening time-to-automation.