From a flaky Selenium suite to Playwright results people trust
Migrating a bad suite as-is just moves the flakiness. We audit first, migrate in phases and fix the waits that cause false failures.
The whole story, short
The problem
The suite takes hours, so it runs too rarely to help.
What we did
- Audit the existing suite
- Migrate in phases
- Introduce parallel execution
- Remove flakiness with auto-waits
- Integrate CI and reporting
The outcome
Audit first then a phased migration
What goes wrong
- The suite takes hours, so it runs too rarely to help.
- Flaky tests fail for no reason, so people stop trusting results.
- Fixed sleeps make tests slow and still unreliable.
- Nobody can see why a test failed without rerunning it locally.
Why the usual fix falls short
A one-for-one rewrite carries over duplicate and low-value tests. Without fixing waits and test data, Playwright inherits the old flakiness.
How we tested it
Audit the existing suite
Review tests against failure history and business risk, then keep, consolidate or retire each one.
Migrate in phases
Move the critical flows first and keep Selenium running until each replacement has proven reliable.
Introduce parallel execution
Run across CI shards and give each test its own data and authenticated state.
Remove flakiness with auto-waits
Replace fixed sleeps with auto-waiting and web-first assertions, then fix any race conditions they expose.
Integrate CI and reporting
Add a fast smoke suite to merge requests, with traces and reports that show why a test failed.
Questions buyers ask
Why migrate from Selenium to Playwright?
Teams usually migrate to reduce flakiness and shorten run times. Playwright includes auto-waiting, parallel execution, and built-in tracing. Selenium remains a capable tool, particularly where broad browser or language support matters, so a migration should be justified by your suite's real problems rather than by trends.
How long does a Selenium to Playwright migration take?
It depends on suite size, test quality, and how much custom framework code exists. Small suites can move in weeks, while large ones may take months. A short audit gives the best estimate, and a phased migration lets the team get value before the work is finished.
Can Selenium and Playwright run side by side?
Yes, and this is usually the safer route. Keep the existing Selenium tests running while priority flows move to Playwright, then retire each old test once its replacement proves reliable. Coverage stays in place throughout, though the team must maintain both suites during the transition.
